5.18.2 (2016-08-23)
Bugfixes
vue mode: Fix outdated references to renamed Pug mode dependency.
5.18.0 (2016-08-22)
Bugfixes
Make sure gutter backgrounds stick to the rest of the gutter during horizontal scrolling.
The contenteditable inputStyle
now properly supports pasting on pre-Edge IE versions.
javascript mode: Fix some small parsing bugs and improve TypeScript support.
matchbrackets addon: Fix bug where active highlighting was left in editor when the addon was disabled.
match-highlighter addon: Only start highlighting things when the editor gains focus.
javascript-hint addon: Also complete non-enumerable properties.
New features
The addOverlay
method now supports a priority
option to control the order in which overlays are applied.
MIME types that end in +json
now default to the JSON mode when the MIME itself is not defined.
Breaking changes
The mode formerly known as Jade was renamed to Pug.
The Python mode now defaults to Python 3 (rather than 2) syntax.
5.17.0 (2016-07-19)
Bugfixes
Fix problem with wrapped trailing whitespace displaying incorrectly.
Prevent IME dialog from overlapping typed content in Chrome.
Improve measuring of characters near a line wrap.
javascript mode: Improve support for async
, allow trailing commas in import
lists.
vim bindings: Fix backspace in replace mode.
sublime bindings: Fix some key bindings on OS X to match Sublime Text.
New features
markdown mode: Add more classes to image links in highlight-formatting mode.
5.16.0 (2016-06-20)
Bugfixes
Fix glitches when dragging content caused by the drop indicator receiving mouse events.
Make Control-drag work on Firefox.
Make clicking or selection-dragging at the end of a wrapped line select the right position.
show-hint addon: Prevent widget scrollbar from hiding part of the hint text.
rulers addon: Prevent rulers from forcing a horizontal editor scrollbar.
New features
search addon: Automatically bind search-related keys in persistent dialog.
sublime keymap: Add a multi-cursor aware smart backspace binding.
5.15.2 (2016-05-20)
Bugfixes
Fix a critical document corruption bug that occurs when a document is gradually grown.
5.15.0 (2016-05-20)
Bugfixes
Fix bug that caused the selection to reset when focusing the editor in contentEditable input mode.
Fix issue where not all ASCII control characters were being replaced by placeholders.
Remove the assumption that all modes have a startState
method from several wrapping modes.
Fix issue where the editor would complain about overlapping collapsed ranges when there weren’t any.
Optimize document tree building when loading or pasting huge chunks of content.
markdown mode: Fix several issues in matching link targets.
clike mode: Improve indentation of C++ template declarations.
New features
Explicitly bind Ctrl-O on OS X to make that binding (“open line”) act as expected.
Pasting linewise-copied content when there is no selection now inserts the lines above the current line.
javascript mode: Support async
/await
and improve support for TypeScript type syntax.
5.14.2 (2016-04-20)
Bugfixes
Push a new package to NPM due to an NPM bug omitting the LICENSE file in 5.14.0.
Set dataTransfer.effectAllowed
in dragstart
handler to help browsers use the right drag icon.
Add the mbox mode to mode/meta.js
.
5.14.0 (2016-04-20)
Bugfixes
posFromIndex
and indexFromPos
now take lineSeparator
into account.
vim bindings: Only call .save()
when it is actually available.
comment addon: Be careful not to mangle multi-line strings.
Python mode: Improve distinguishing of decorators from @
operators.
findMarks
: No longer return marks that touch but don’t overlap given range.
New features
vim bindings: Add yank command.
match-highlighter addon: Add trim
option to disable ignoring of whitespace.
PowerShell mode: Added.
Yacas mode: Added.
Web IDL mode: Added.
SAS mode: Added.
mbox mode: Added.
5.13.2 (2016-03-23)
Bugfixes
Solves a problem where the gutter would sometimes not extend all the way to the end of the document.
5.13.0 (2016-03-21)
New features
New DOM event forwarded: "dragleave"
.
protobuf mode: Newly added.
Bugfixes
Fix problem where findMarks
sometimes failed to find multi-line marks.
Fix crash that showed up when atomic ranges and bidi text were combined.
show-hint addon: Completion widgets no longer close when the line indented or dedented.
merge addon: Fix bug when merging chunks at the end of the file.
placeholder addon: No longer gets confused by swapDoc
.
simplescrollbars addon: Fix invalid state when deleting at end of document.
clike mode: No longer gets confused when a comment starts after an operator.
markdown mode: Now supports CommonMark-style flexible list indentation.
dylan mode: Several improvements and fixes.
5.12.0 (2016-02-19)
New features
Vim bindings: Ctrl-Q is now an alias for Ctrl-V.
Vim bindings: The Vim API now exposes an unmap
method to unmap bindings.
active-line addon: This addon can now style the active line’s gutter.
FCL mode: Newly added.
SQL mode: Now has a Postgresql dialect.
Bugfixes
Fix issue where trying to scroll to a horizontal position outside of the document’s width could cause the gutter to be positioned incorrectly.
Use absolute, rather than fixed positioning in the context-menu intercept hack, to work around a problem when the editor is inside a transformed parent container.
Solve a problem where the horizontal scrollbar could hide text in Firefox.
Fix a bug that caused phantom scroll space under the text in some situations.
Sublime Text bindings: Bind delete-line to Shift-Ctrl-K on OS X.
Markdown mode: Fix issue where the mode would keep state related to fenced code blocks in an unsafe way, leading to occasional corrupted parses.
Markdown mode: Ignore backslashes in code fragments.
Markdown mode: Use whichever mode is registered as text/html
to parse HTML.
Clike mode: Improve indentation of Scala =>
functions.
Python mode: Improve indentation of bracketed code.
HTMLMixed mode: Support multi-line opening tags for sub-languages (<script>
, <style>
, etc).
Spreadsheet mode: Fix bug where the mode did not advance the stream when finding a backslash.
XML mode: The mode now takes a matchClosing
option to configure whether mismatched closing tags should be highlighted as errors.
5.11.0 (2016-01-20)
- New modes: JSX, literate Haskell
- The editor now forwards more DOM events:
cut
,copy
,paste
, andtouchstart
. It will also forwardmousedown
for drag events - Fixes a bug where bookmarks next to collapsed spans were not rendered
- The Swift mode now supports auto-indentation
- Frontmatters in the YAML frontmatter mode are now optional as intended
5.10.0 (2015-12-21)
- Modify the way atomic ranges are skipped by selection to try and make it less surprising.
- The Swift mode was rewritten.
- New addon: jump-to-line.
- New method:
isReadOnly
. - The show-hint addon now defaults to picking completions on single click.
- The object passed to
"beforeSelectionChange"
events now has anorigin
property. - New mode: Crystal.
5.9.0 (2015-11-23)
- Improve the way overlay (OS X-style) scrollbars are handled
- Make annotatescrollbar and scrollpastend addons work properly together
- Make show-hint addon select options on single click by default, move selection to hovered item
- Properly fold comments that include block-comment-start markers
- Many small language mode fixes
5.8.0 (2015-10-20)
- Fixes an infinite loop in the hardwrap addon
- New modes: NSIS, Ceylon
- The Kotlin mode is now a clike dialect, rather than a stand-alone mode
- New option:
allowDropFileTypes
. Binary files can no longer be dropped into CodeMirror - New themes: bespin, hopscotch, isotope, railscasts
5.7.0 (2015-09-21)
- New modes: Vue, Oz, MscGen (and dialects), Closure Stylesheets
- Implement CommonMark-style flexible list indent and cross-line code spans in Markdown mode
- Add a replace-all button to the search addon, and make the persistent search dialog transparent when it obscures the match
- Handle
acync
/await
and ocal and binary numbers in JavaScript mode - Fix various issues with the Haxe mode
- Make the closebrackets addon select only the wrapped text when wrapping selection in brackets
- Tokenize properties as properties in the CoffeeScript mode
- The placeholder addon now accepts a DOM node as well as a string placeholder
5.6.0 (2015-08-20)
- Fix bug where you could paste into a
readOnly
editor - Show a cursor at the drop location when dragging over the editor
- The Rust mode was rewritten to handle modern Rust
- The editor and theme CSS was cleaned up. Some selectors are now less specific than before
- New theme: abcdef
- Lines longer than
maxHighlightLength
are now less likely to mess up indentation - New addons:
autorefresh
for refreshing an editor the first time it becomes visible, andhtml-lint
for using HTMLHint - The
search
addon now recognizes\r
and\n
in pattern and replacement input
5.5.0 (2015-07-20)
- New option:
lineSeparator
(with corresponding method) - New themes: dracula, seti, yeti, material, and icecoder
- New modes: Brainfuck, VHDL, Squirrel (clike dialect)
- Define a
findPersistent
command in the search addon, for a dialog that stays open as you cycle through matches - From this release on, the NPM module doesn’t include documentation and demos
- Full list of patches
5.4.0 (2015-06-25)
- New modes: Twig, Elm, Factor, Swift
- Prefer clipboard API (if available) when pasting
- Refined definition highlighting in clike mode
- Full list of patches
5.3.0 (2015-05-20)
- Fix several regressions in the
show-hint
addon (completeSingle
option,"shown"
and"close"
events) - The vim mode API was documented
- New modes: ASN.1, TTCN, and TTCN-CFG
- The clike mode can now deep-indent
switch
statements, and roughly recognizes types and defined identifiers - Full list of patches
5.2.0 (2015-04-20)
- Fix several race conditions in
show-hint
's asynchronous mode - Fix backspace binding in Sublime bindings
- Change the way IME is handled in the
"textarea"
input style - New modes: MUMPS, Handlebars
- Rewritten modes: Django, Z80
- New theme: Liquibyte
- New option:
lineWiseCopyCut
- The Vim mode now supports buffer-local options and the
filetype
setting - Full list of patches
5.1.0 (2015-03-23)
- New modes: ASCII armor (PGP data), Troff, and CMake.
- Remove SmartyMixed mode, rewrite Smarty mode to supersede it.
- New commands in the merge addon:
goNextDiff
andgoPrevDiff
. - The closebrackets addon can now be configured per mode.
- Full list of patches.
5.0.0 (2015-02-20)
- Experimental mobile support (tested on iOS, Android Chrome, stock Android browser)
- New option
inputStyle
to switch between hidden textarea and contenteditable input. - The
getInputField
method is no longer guaranteed to return a textarea. - Full list of patches.
4.13.0 (2015-02-20)
- Fix the way the
closetag
demo handles the slash character. - New modes: Forth, Stylus.
- Make the CSS mode understand some modern CSS extensions.
- Have the Scala mode handle symbols and triple-quoted strings.
- Full list of patches.
4.12.0 (2015-01-22)
- The
closetag
addon now defines a"closeTag"
command. - Adds a
findModeByFileName
to the mode metadata addon. - Simple mode rules can now contain a
sol
property to only match at the start of a line. - New addon:
selection-pointer
to style the mouse cursor over the selection. - Improvements to the Sass mode’s indentation.
- The Vim keymap’s search functionality now supports scrollbar annotation.
- Full list of patches.
4.11.0 (2015-01-09)
Unfortunately, 4.10 did not take care of the Firefox scrolling issue entirely. This release adds two more patches to address that.
4.10.0 (2014-12-29)
Emergency single-patch update to 4.9. Fixes Firefox-specific problem where the cursor could end up behind the horizontal scrollbar.
4.9.0 (2014-12-23)
- Overhauled scroll bar handling. Add pluggable scrollbar implementations.
- Tweaked behavior for the completion addons to not take text after cursor into account.
- Two new optional features in the merge addon: aligning editors, and folding unchanged text.
- New modes: Dart, EBNF, spreadsheet, and Soy.
- New addon to show persistent panels below/above an editor.
- New themes: zenburn and tomorrow night bright.
- Allow ctrl-click to clear existing cursors.
- Full list of patches.
4.8.0 (2014-11-22)
- Built-in support for multi-stroke key bindings.
- New method:
getLineTokens
. - New modes: dockerfile, IDL, Objective C (crude).
- Support styling of gutter backgrounds, allow
"gutter"
styles inaddLineClass
. - Many improvements to the Vim mode, rewritten visual mode.
- Improvements to modes: gfm (strikethrough), SPARQL (version 1.1 support), and sTeX (no more runaway math mode).
- Full list of patches.
4.7.0 (2014-10-20)
- Incompatible: The lint addon now passes the editor’s value as first argument to asynchronous lint functions, for consistency. The editor is still passed, as fourth argument.
- Improved handling of unicode identifiers in modes for languages that support them.
- More mode improvements: CoffeeScript (indentation), Verilog (indentation), Scala (indentation, triple-quoted strings), and PHP (interpolated variables in heredoc strings).
- New modes: Textile and Tornado templates.
- Experimental new way to define modes.
- Improvements to the Vim bindings: Arbitrary insert mode key mappings are now possible, and text objects are supported in visual mode.
- The mode meta-information file now includes information about file extensions, and helper functions
findModeByMIME
andfindModeByExtension
. - New logo!
- Full list of patches.
4.6.0 (2014-09-19)
- New mode: Modelica
- New method:
findWordAt
- Make it easier to use text background styling
- Full list of patches.
4.5.0 (2014-08-21)
- Fix several serious bugs with horizontal scrolling
- New mode: Slim
- New command:
goLineLeftSmart
- More fixes and extensions for the Vim visual block mode
- Full list of patches.
4.4.0 (2014-07-21)
- Note: Some events might now fire in slightly different order (
"change"
is still guaranteed to fire before"cursorActivity"
) - Nested operations in multiple editors are now synced (complete at same time, reducing DOM reflows)
- Visual block mode for vim (
) is nearly complete - New mode: Kotlin
- Better multi-selection paste for text copied from multiple CodeMirror selections
- Full list of patches.
4.3.0 (2014-06-23)
- Several vim bindings improvements: search and exCommand history, global flag for
:substitute
,:global
command. - Allow hiding the cursor by setting
cursorBlinkRate
to a negative value. - Make gutter markers themeable, use this in foldgutter.
- Full list of patches.
4.2.0 (2014-05-19)
- Fix problem where some modes were broken by the fact that empty tokens were forbidden.
- Several fixes to context menu handling.
- On undo, scroll change, not cursor, into view.
- Rewritten Jade mode.
- Various improvements to Shell (support for more syntax) and Python (better indentation) modes.
- New mode: Cypher.
- New theme: Neo.
- Support direct styling options (color, line style, width) in the rulers addon.
- Recognize per-editor configuration for the show-hint and foldcode addons.
- More intelligent scanning for existing close tags in closetag addon.
- In the Vim bindings: Fix bracket matching, support case conversion in visual mode, visual paste, append action.
- Full list of patches.
4.1.0 (2014-04-22)
- Slightly incompatible: The
"cursorActivity"
event now fires after all other events for the operation (and only for handlers that were actually registered at the time the activity happened). - New command:
insertSoftTab
. - New mode: Django.
- Improved modes: Verilog (rewritten), Jinja2, Haxe, PHP (string interpolation highlighted), JavaScript (indentation of trailing else, template strings), LiveScript (multi-line strings).
- Many small issues from the 3.x→4.x transition were found and fixed.
- Full list of patches.
3.24.0 (2014-04-22)
Merges the improvements from 4.1 that could easily be applied to the 3.x code. Also improves the way the editor size is updated when line widgets change.
3.23.0 (2014-03-20)
- In the XML mode, add
brackets
style to angle brackets, fix case-sensitivity of tags for HTML. - New mode: Dylan.
- Many improvements to the Vim bindings.
3.22.0 (2014-02-21)
- Adds the
findMarks
method. - New addons: rulers, markdown-fold, yaml-lint.
- New theme: mdn-like.
- New mode: Solr.
- Full list of patches.
3.21.0 (2014-01-16)
- Auto-indenting a block will no longer add trailing whitespace to blank lines.
- Marking text has a new option
clearWhenEmpty
to control auto-removal. - Several bugfixes in the handling of bidirectional text.
- The XML and CSS modes were largely rewritten. LESS support was added to the CSS mode.
- The OCaml mode was moved to an mllike mode, F# support added.
- Make it possible to fetch multiple applicable helper values with
getHelpers
, and to register helpers matched on predicates withregisterGlobalHelper
. - New theme pastel-on-dark.
- Better ECMAScript 6 support in JavaScript mode.
- Full list of patches.
3.20.0 (2013-11-21)
- New modes: Julia and PEG.js.
- Support ECMAScript 6 in the JavaScript mode.
- Improved indentation for the CoffeeScript mode.
- Make non-printable-character representation configurable.
- Add ‘notification’ functionality to dialog addon.
- Full list of patches.
3.19.0 (2013-10-21)
- New modes: Eiffel, Gherkin, MSSQL dialect.
- New addons: hardwrap, sql-hint.
- New theme: MBO.
- Add support for line-level styling from mode tokenizers.
- Full list of patches.
3.18.0 (2013-09-23)
Emergency release to fix a problem in 3.17 where .setOption("lineNumbers", false)
would raise an error.
3.17.0 (2013-09-23)
- New modes: Fortran, Octave (Matlab), TOML, and DTD.
- New addons:
css-lint
,css-hint
. - Improve resilience to CSS ‘frameworks’ that globally mess up
box-sizing
. - Full list of patches.
3.16.0 (2013-08-21)
- The whole codebase is now under a single license file.
- The project page was overhauled and redesigned.
- New themes: Paraiso (light), The Matrix.
- Improved interaction between themes and active-line/matchbrackets addons.
- New folding function
CodeMirror.fold.comment
. - Added fullscreen addon.
- Full list of patches.
3.15.0 (2013-07-29)
- New modes: Jade, Nginx.
- New addons: Tern, matchtags, and foldgutter.
- Introduced helper concept (context).
- New method:
getModeAt
. - New themes: base16 dark/light, 3024 dark/light, tomorrow-night.
- Full list of patches.
3.14.0 (2013-06-20)
- New addons: trailing space highlight, XML completion (rewritten), and diff merging.
markText
andaddLineWidget
now take ahandleMouseEvents
option.- New methods:
lineAtHeight
,getTokenTypeAt
. - More precise cleanness-tracking using
changeGeneration
andisClean
. - Many extensions to Emacs mode (prefixes, more navigation units, and more).
- New events
"keyHandled"
and"inputRead"
. - Various improvements to Ruby, Smarty, SQL, and Vim modes.
- Full list of patches.
3.13.0 (2013-05-20)
- New modes: COBOL and HAML.
- New options:
cursorScrollMargin
andcoverGutterNextToScrollbar
. - New addon: commenting.
- More features added to the Vim keymap.
- Full list of patches.
3.12.0 (2013-04-19)
- New mode: GNU assembler.
- New options:
maxHighlightLength
andhistoryEventDelay
. - Added
addToHistory
option formarkText
. - Various fixes to JavaScript tokenization and indentation corner cases.
- Further improvements to the vim mode.
- Full list of patches.
3.11.0 (2013-03-20)
- Removed code:
collapserange
,formatting
, andsimple-hint
addons.plsql
andmysql
modes (usesql
mode). - Moved code: the range-finding functions for folding now have their own files.
- Changed interface: the
continuecomment
addon now exposes an option, rather than a command. - New modes: SCSS, Tcl, LiveScript, and mIRC.
- New addons:
placeholder
, HTML completion. - New methods:
hasFocus
,defaultCharWidth
. - New events:
beforeCursorEnter
,renderLine
. - Many improvements to the
show-hint
completion dialog addon. - Tweak behavior of by-word cursor motion.
- Further improvements to the vim mode.
- Full list of patches.
3.02.0 (2013-01-25)
Single-bugfix release. Fixes a problem that prevents CodeMirror instances from being garbage-collected after they become unused.
3.01.0 (2013-01-21)
- Move all add-ons into an organized directory structure under
/addon
. You might have to adjust your paths. - New modes: D, Sass, APL, SQL (configurable), and Asterisk.
- Several bugfixes in right-to-left text support.
- Add
rtlMoveVisually
option. - Improvements to vim keymap.
- Add built-in (lightweight) overlay mode support.
- Support
showIfHidden
option for line widgets. - Add simple Python hinter.
- Bring back the
fixedGutter
option. - Full list of patches.
3.1.0 (2013-02-21)
- Incompatible: key handlers may now return, rather than throw
CodeMirror.Pass
to signal they didn’t handle the key. - Make documents a first-class construct, support split views and subviews.
- Add a new module for showing completion hints. Deprecate
simple-hint.js
. - Extend htmlmixed mode to allow custom handling of script types.
- Support an
insertLeft
option tosetBookmark
. - Add an
eachLine
method to iterate over a document. - New addon modules: selection marking, linting, and automatic bracket closing.
- Add
"beforeChange"
and"beforeSelectionChange"
events. - Add
"hide"
and"unhide"
events to marked ranges. - Fix
coordsChar
's interpretation of its argument to match the documentation. - New modes: Turtle and Q.
- Further improvements to the vim mode.
- Full list of patches.
3.0.0 (2012-12-10)
New major version. Only partially backwards-compatible. See the upgrading guide for more information. Changes since release candidate 2:
- Rewritten VIM mode.
- Fix a few minor scrolling and sizing issues.
- Work around Safari segfault when dragging.
- Full list of patches.
2.38.0 (2013-01-21)
Integrate some bugfixes, enhancements to the vim keymap, and new modes (D, Sass, APL) from the v3 branch.
2.37.0 (2012-12-20)
- New mode: SQL (will replace plsql and mysql modes).
- Further work on the new VIM mode.
- Fix Cmd/Ctrl keys on recent Operas on OS X.
- Full list of patches.
2.36.0 (2012-11-20)
- New mode: Z80 assembly.
- New theme: Twilight.
- Add command-line compression helper.
- Make
scrollIntoView
public. - Add
defaultTextHeight
method. - Various extensions to the vim keymap.
- Make PHP mode build on mixed HTML mode.
- Add comment-continuing add-on.
- Full list of patches.
2.35.0 (2012-10-22)
- New (sub) mode: TypeScript.
- Don’t overwrite (insert key) when pasting.
- Fix several bugs in
markText
/undo interaction. - Better indentation of JavaScript code without semicolons.
- Add
defineInitHook
function. - Full list of patches.
2.34.0 (2012-09-19)
- New mode: Common Lisp.
- Fix right-click select-all on most browsers.
- Change the way highlighting happens:
Saves memory and CPU cycles.
compareStates
is no longer needed.onHighlightComplete
no longer works. - Integrate mode (Markdown, XQuery, CSS, sTex) tests in central testsuite.
- Add a
CodeMirror.version
property. - More robust handling of nested modes in formatting and closetag plug-ins.
- Un/redo now preserves marked text and bookmarks.
- Full list of patches.
2.33.0 (2012-08-23)
- New mode: Sieve.
- New
getViewPort
andonViewportChange
API. - Configurable cursor blink rate.
- Make binding a key to
false
disabling handling (again). - Show non-printing characters as red dots.
- More tweaks to the scrolling model.
- Expanded testsuite. Basic linter added.
- Remove most uses of
innerHTML
. RemoveCodeMirror.htmlEscape
. - Full list of patches.
2.32.0 (2012-07-23)
Emergency fix for a bug where an editor with line wrapping on IE will break when there is no scrollbar.
2.31.0 (2012-07-20)
- New modes: OCaml, Haxe, and VB.NET.
- Several fixes to the new scrolling model.
- Add a
setSize
method for programmatic resizing. - Add
getHistory
andsetHistory
methods. - Allow custom line separator string in
getValue
andgetRange
. - Support double- and triple-click drag, double-clicking whitespace.
- And more… (all patches)
2.30.0 (2012-06-22)
- New scrollbar implementation. Should flicker less. Changes DOM structure of the editor.
- New theme: vibrant-ink.
- Many extensions to the VIM keymap (including text objects).
- Add mode-multiplexing utility script.
- Fix bug where right-click paste works in read-only mode.
- Add a
getScrollInfo
method. - Lots of other fixes.
2.25.0 (2012-05-23)
- New mode: Erlang.
- Remove xmlpure mode (use xml.js).
- Fix line-wrapping in Opera.
- Fix X Windows middle-click paste in Chrome.
- Fix bug that broke pasting of huge documents.
- Fix backspace and tab key repeat in Opera.
2.24.0 (2012-04-23)
- Drop support for Internet Explorer 6.
- New modes: Shell, Tiki wiki, Pig Latin.
- New themes: Ambiance, Blackboard.
- More control over drag/drop with
dragDrop
andonDragEvent
options. - Make HTML mode a bit less pedantic.
- Add
compoundChange
API method. - Several fixes in undo history and line hiding.
- Remove (broken) support for
catchall
in key maps, addnofallthrough
boolean field instead.
2.23.0 (2012-03-26)
- Change default binding for tab. Starting in 2.23, these bindings are default:
- Tab: Insert tab character
- Shift-tab: Reset line indentation to default
- Ctrl/Cmd-[: Reduce line indentation (old tab behaviour)
- Ctrl/Cmd-]: Increase line indentation (old shift-tab behaviour)
- New modes: XQuery and VBScript.
- Two new themes: lesser-dark and xq-dark.
- Differentiate between background and text styles in
setLineClass
. - Fix drag-and-drop in IE9+.
- Extend
charCoords
andcursorCoords
with amode
argument. - Add
autofocus
option. - Add
findMarksAt
method.
2.22.0 (2012-02-27)
- Allow key handlers to pass up events, allow binding characters.
- Add
autoClearEmptyLines
option. - Properly use tab stops when rendering tabs.
- Make PHP mode more robust.
- Support indentation blocks in code folder.
- Add a script for highlighting instances of the selection.
- New .properties mode.
- Fix many bugs.
2.21.0 (2012-01-27)
- Added LESS, MySQL, Go, and Verilog modes.
- Add
smartIndent
option. - Support a cursor in
readOnly
-mode. - Support assigning multiple styles to a token.
- Use a new approach to drawing the selection.
- Add
scrollTo
method. - Allow undo/redo events to span non-adjacent lines.
- Lots and lots of bugfixes.
2.20.0 (2011-12-20)
- Slightly incompatible API changes. Read this.
- New approach to binding keys, support for custom bindings.
- Support for overwrite (insert).
- Custom-width and stylable tabs.
- Moved more code into add-on scripts.
- Support for sane vertical cursor movement in wrapped lines.
- More reliable handling of editing marked text.
- Add minimal emacs and vim bindings.
- Rename
coordsFromIndex
toposFromIndex
, addindexFromPos
method.
2.18.0 (2011-11-21)
Fixes TextMarker.clear
, which is broken in 2.17.
2.17.0 (2011-11-21)
- Add support for line wrapping and code folding.
- Add Github-style Markdown mode.
- Add Monokai and Rubyblue themes.
- Add
setBookmark
method. - Move some of the demo code into reusable components under
lib/util
. - Make screen-coord-finding code faster and more reliable.
- Fix drag-and-drop in Firefox.
- Improve support for IME.
- Speed up content rendering.
- Fix browser’s built-in search in Webkit.
- Make double- and triple-click work in IE.
- Various fixes to modes.
2.16.0 (2011-10-27)
- Add Perl, Rust, TiddlyWiki, and Groovy modes.
- Dragging text inside the editor now moves, rather than copies.
- Add a
coordsFromIndex
method. - API change:
setValue
now no longer clears history. UseclearHistory
for that. - API change:
markText
now returns an object withclear
andfind
methods. Marked text is now more robust when edited. - Fix editing code with tabs in Internet Explorer.
2.15.0 (2011-09-26)
Fix bug that snuck into 2.14: Clicking the character that currently has the cursor didn’t re-focus the editor.
2.14.0 (2011-09-26)
- Add Clojure, Pascal, NTriples, Jinja2, and Markdown modes.
- Add Cobalt and Eclipse themes.
- Add a
fixedGutter
option. - Fix bug with
setValue
breaking cursor movement. - Make gutter updates much more efficient.
- Allow dragging of text out of the editor (on modern browsers).
2.13.0 (2011-08-23)
- Add Ruby, R, CoffeeScript, and Velocity modes.
- Add
getGutterElement
to API. - Several fixes to scrolling and positioning.
- Add
smartHome
option. - Add an experimental pure XML mode.
2.12.0 (2011-07-25)
- Add a SPARQL mode.
- Fix bug with cursor jumping around in an unfocused editor in IE.
- Allow key and mouse events to bubble out of the editor. Ignore widget clicks.
- Solve cursor flakiness after undo/redo.
- Fix block-reindent ignoring the last few lines.
- Fix parsing of multi-line attrs in XML mode.
- Use
innerHTML
for HTML-escaping. - Some fixes to indentation in C-like mode.
- Shrink horiz scrollbars when long lines removed.
- Fix width feedback loop bug that caused the width of an inner DIV to shrink.
2.11.0 (2011-07-04)
- Add a Scheme mode.
- Add a
replace
method to search cursors, for cursor-preserving replacements. - Make the C-like mode mode more customizable.
- Update XML mode to spot mismatched tags.
- Add
getStateAfter
API andcompareState
mode API methods for finer-grained mode magic. - Add a
getScrollerElement
API method to manipulate the scrolling DIV. - Fix drag-and-drop for Firefox.
- Add a C# configuration for the C-like mode.
- Add full-screen editing and mode-changing demos.
2.10.0 (2011-06-07)
Add a theme system (demo). Note that this is not backwards-compatible—you’ll have to update your styles and modes!
2.2.0 (2011-06-07)
- Add a Lua mode.
- Fix reverse-searching for a regexp.
- Empty lines can no longer break highlighting.
- Rework scrolling model (the outer wrapper no longer does the scrolling).
- Solve horizontal jittering on long lines.
- Add runmode.js.
- Immediately re-highlight text when typing.
- Fix problem with ‘sticking’ horizontal scrollbar.
2.1.0 (2011-05-26)
- Add a Smalltalk mode.
- Add a reStructuredText mode.
- Add a Python mode.
- Add a PL/SQL mode.
coordsChar
now works- Fix a problem where
onCursorActivity
interfered withonChange
. - Fix a number of scrolling and mouse-click-position glitches.
- Pass information about the changed lines to
onChange
. - Support cmd-up/down on OS X.
- Add triple-click line selection.
- Don’t handle shift when changing the selection through the API.
- Support
"nocursor"
mode forreadOnly
option. - Add an
onHighlightComplete
option. - Fix the context menu for Firefox.
2.0.0 (2011-03-28)
CodeMirror 2 is a complete rewrite that’s faster, smaller, simpler to use, and less dependent on browser quirks. See this and this for more information.


Dengue is considered to be the most important mosquito-borne viral disease in the world. The Aedes aegypti mosquito, its vector, is highly anthropophilic and is very well adapted to urban environments. Although several vaccine candidates are in advanced stages of development no licensed dengue vaccine is yet available. As a result, controlling the spread of dengue still requires that mosquitoes be targeted directly. We review the current methods of dengue vector control focusing on recent technical advances. We first examine the history of Brazil’s National Dengue Control Plan in effect since 2002, and we describe its establishment and operation. With the persistent recurrence of dengue epidemics, current strategies should be reassessed to bring to the forefront a discussion of the possible implementation of new technologies in Brazil’s mosquito control program.
Mosquito-borne diseases are among the leading causes of mortality and morbidity in humans. Globalization of travel and trade, unplanned urbanization and environmental changes have all had a significant impact on disease transmission in recent years. Some arboviruses, such as dengue, chikungunya and West Nile virus, are emerging in countries where they have previously been unknown [ 1 ]. Another example of a mosquito-borne disease is the Zika fever (transmitted by a dengue-related flavivirus), which has not previously been thought to be an important human arboviral pathogen. The epidemic capacity of the Zika virus was revealed in an outbreak in Micronesia in 2007 and affected approximately 5000 people [ 2 ]. Dengue has stood out among the reemerging diseases, and it is considered to be the most important viral disease transmitted by arthropods. In 2013, it was estimated that approximately 390 million people experienced dengue virus infections per year, of which 96 million cases had some kind of apparent manifestation [ 3 ]. The Americas are not an exception to this trend, and the incidence of dengue in the Americas has increased 30-fold in the last 50 years; between 2008 and 2012, more than 1.2 million cases of dengue were identified each year. Furthermore, 2013 had the highest burden of the disease ever registered with the largest epidemic in the history of the Americas. A total of 2.3 million cases were reported [ 4 ] and Brazil was responsible for 1,452,489 of those cases according to the Ministry of Health [ 5 ].
Dengue was first registered in Brazil in 1981 in Boa Vista in the north of the country; this outbreak of serotypes DENV-1 and DENV-4 was rapidly suppressed. In 1986, dengue acquired epidemiological importance when an epidemic broke out in the state of Rio de Janeiro with Serotype 1. The virus spread throughout seven states with periodic outbreaks until 1990 when Serotype 2 was also introduced in the Rio de Janeiro state. Since 1994, there has been a rapid dispersal of the vector over a large area, which led to a viral circulation in more states and municipalities and caused a rapid increase in the extent of the disease [ 6 ]. In Brazil, DENV-3 was first isolated in 2000 from the state of Rio de Janeiro. Later there were large DENV-3 epidemics in Rio de Janeiro in 2001 and 2002 [ 7 ]. DENV-4 reemerged in Brazil in 2010, 28 years after it had last been detected in the country; the site of the reemergence was Roraima state in northern Brazil [ 8 ].
The first vector control effort in Brazil was focused on the control of the yellow fever virus through a partnership with the Rockefeller Foundation and the Brazilian National Department of Public Health. Actions aimed at vector control using insecticides started in 1947. The advent of DDT made it possible to imagine the notion of mosquito eradication not only on a nationwide scale, but on a continent-wide scale. This mindset led to the Pan American Health Organization (PAHO) and the World Health Organization (WHO) forming a new group to fight mosquitoes: the Eradication Program of Ae. aegypti in the Western Hemisphere. Thanks to these programs, Ae. aegypti was considered to be eradicated from Brazil by the end of the 1950s [ 6 , 9 , 10 ].
In 1956, the National Department of Rural Endemic Diseases (DNERu) was created to control yellow fever and malaria. After 10 years, Ae. aegypti was reintroduced and the responsibilities of DNERu were delegated to the Superintendence of Public Health Campaigns (SUCAM) through the National Program of Yellow Fever and Dengue Control. This campaign was disbanded in 1973, and the vector was, once more, considered to be eradicated from the country. However, in 1976 it was reintroduced due to failures in epidemiological surveillance and social and environmental changes resulting from rapid urbanization [ 6 ]. The deterioration of the eradication program over time was due mainly to the development of mosquito resistance to DDT and other organochlorine insecticides, the high costs of materials and wages, insufficient community participation or support from the health sector, and an unwillingness on the part of some governments to join in simultaneous programs [ 10 ].
The Brazilian National Health Foundation (FUNASA) was placed in charge of the vector and disease control in 1990. Its first strategy was to develop the Eradication Plan of Ae. aegypti (PEAa). However, this plan failed because of the uncoordinated actions of each municipality and inconsistencies in the implementation of actions to combat the vector. FUNASA then gave up on eradicating the mosquito and focused instead on controlling the vector through the Intensification Plan of Dengue Control Actions (PIACD) in 2001. Some changes were enacted in 2002, and the final National Plan for Dengue Control (PNCD) was established [ 6 ]. The Brazilian authorities created this compendium by compiling different strategies to control dengue disease in the national territory. The PNCD addresses important components needed to control dengue such as epidemiologic surveillance, vector control, patient care, integration with primary health care through public health agents, environmental sanitation activities, integrated actions of health education, communication and social mobilization, training of human resources, political legislation for social sustainability, and program evaluation [ 11 ].
The main objective of the PNCD is to reduce Ae. aegypti infestation and thereby reduce the incidence of dengue and its lethal hemorrhagic manifestations. The goals of the PNCD are (1) to reduce the building infestation index in all priority cities considered to less than 1%, (2) to reduce, by 50%, the number cases of 2003 compared with the number of cases in 2002 and to sustain an additional 25% decrement each year and (3) to reduce the lethality of dengue hemorrhagic fever to less than 1% [ 11 , 12 ].
The PNCD’s procedures for mosquito control in Pernambuco state include a bimonthly application of temephos (larvicide) inside of houses with detectable breeding sites, an annual campaign for source elimination (Dengue Day) and less-frequent applications of organophosphorus or pyrethroids in ultra-low volumes in the case of epidemics for adult mosquito elimination. In some cases, temephos can be replaced by chitin synthesis inhibitors [ 13 ].
Despite all of the strategies implemented in Brazil by the PNCD, investigations of Ae. aegypti, populations in 67 cities revealed selective resistance to temephos in 1999 and 2000; this resistance was mainly found in northeastern and southeastern Brazil [ 6 ]. In a study conducted in two cities in Pernambuco state in the northeastern part of the country, the designated procedures from the PNCD were followed but yielded no positive suppression of the vector. The Oswaldo Cruz Foundation (FIOCRUZ) decided to implement a massive trap intervention for a couple of years, which resulted in a population suppression of approximately 90% [ 13 ].
When the PNCD was initiated in 2002, approximately 701,335 cases of dengue were reported in Brazil. In 2004, this number decreased to 72,552 cases. However, the number of cases then began to increase each year to 981,276 cases in 2010 ( Figure 1). Ten years after the formation of the PNCD, approximately 4.5 million cases of dengue had been reported. These data were obtained from the Information System for Notifiable Diseases from the Brazilian Ministry of Health [ 14 ].
Whereas the PNCD has succeeded with PEAa, the vertically integrated features of the program to combat vector persist, and these features result in the poor coordination of prevention and control efforts with other health initiatives. Inefficiency results and goals have not been achieved as a result. Moreover, the occurrence of frequent outbreaks in recent years should serve to highlight that a new logic system is necessary for health service organizations: dengue control demands an entirely new set of new strategies and techniques to fight the vector and its disease [ 15 ].
Uncontrolled urbanization and the formation of megacities are generally accompanied by areas of poor sanitation and extreme poverty, which are optimal conditions for the establishment of vector breeding sites and dengue epidemics. Moreover, climate change has increased the domestic practice of storing water in containers, which is an ideal vector-breeding site. It is therefore critical that local characteristics and population habits be taken into consideration when choosing the most suitable program for mosquito control [ 16 ]. Below, we discuss several innovative tools that can be incorporated into vector control strategies.
Number of dengue cases in Brazil. Source: Notifiable Diseases Information System [ 14 ].
Dengue virus transmission involves several factors such as the vector population density, the immunological profile of the human population, the circulating dengue serotypes, the climate and environmental conditions and the presence of other potential vector such as Aedes albopictus [ 17 ]. A commercial, large-scale and effective vaccine against all dengue serotypes does not exist; the most important strategy to suppress arbovirus disease transmission is vector control [ 18 ].
According to the Brazilian national guidelines of the PNCD, vector control methods can be divided into mechanical, biological and chemical [ 19 ]. Mechanical control consists of removing potential breeding sites for mosquitoes such as tires and non-biodegradable plastic containers and covering water tanks in order to prevent oviposition by Ae. aegypti female mosquitoes. Biological control is designed to eliminate mostly mosquito larvae using biological agents. One option is to use Bacillus thuringiensis israelensis (Bti), a bacterium that, when ingested by mosquito larvae, synthesizes lethal endotoxins [ 19 , 20 ]. Pots with aquatic plants that are widely used in Southeast Asia to decorate houses and terraces provide fertile ground for mosquito breeding. Larvivorous fishes ( i.e., those that feed upon larvae) are commonly used in such pots ( Figure 2). This practice is common in India as an important component of a biological control strategy to reduce vector population and malaria transmission [ 21 , 22 , 23 ]. The use of larvivorous fish in intradomestic pots for mosquito control has proven to be an intelligent solution. Prohibiting the use of pots with aquatic plants is not effective since it contradicts habits that are deeply rooted in Asian culture.
Larvivorous fish. Source: Pattamaporn Kittayapong and Phanthip Olanratmanee, Thailand.
Chemical control is performed using chemical compounds called insecticides, which can affect the larval or adult stages of mosquitoes. In the 1940s, mosquito control involved using synthetic insecticides, such as DDT, chlordane, benzene hexachloride and hexaethyl tetraphosphate [ 24 ]. Nowadays, the most common chemical compounds used in mosquito control include pyrethroids, organochloride and organophosphorus; these molecules interact with an insect’s nervous system [ 25 ]. However, because chemical control is part of an integrated control effort to combat the vector, its continuous use increases the selection of individuals that are resistant to those molecules. Furthermore, these same molecules can be toxic to other animals species or may contaminate the soil [ 24 , 26 ].
Many researchers are developing new strategies to control and reduce the use of toxic products. One alternative is to use a botanical insecticide that is sustainable and less toxic than synthetic insecticides to combat Ae. aegypti mosquitoes [ 24 , 27 , 28 ]. Botanical insecticides can currently be synthesized from the extracts of leaves, seeds or fruits of many species of plants ( Figure 3) such as Apium graveolens, Persea americana, Cipadessa baccifera and Callistemon rigidus [ 29 , 30 , 31 , 32 ]. It is possible to isolate chemical components from the extracts and perform larvicidal bioassays or tests using adult mosquitoes according to the Guidelines for Laboratory and Field Testing of Mosquito Larvicides published by the WHO [ 33 , 34 , 35 ].
Strategies for obtaining active compounds from plants with larvicidal activity against mosquitoes.
The extracts can be used not only to produce insecticides but also to develop potential repellents. Citronella, for example, is a chemical compound present in aromatic plants ( Cymbopogon citratus and Eucalyptus citriodora) and is used today for the production of mosquito repellents [ 36 ]. Kumar et al. (2014) also demonstrated that the oil from seeds of Apium graveolens was an effective repellent against Ae. aegypti [ 29 ].
Dias et al. (2014) performed a comprehensive review of the original research and described the bioactivity of essential oils against Ae. aegypti larvae. These authors showed that approximately 27% of the plants studied for their larvicidal activity were collected in Brazil [ 37 ].
There have been several studies that have identified natural compounds with insecticide or repellent characteristics [ 29 , 30 , 31 , 32 ]. In addition, Brazil encompasses significant biodiversity, and almost 19% of the world's flora grow in the country [ 38 ]. However, despite the number of studies conducted in Brazil it is important to maintain strict standards when searching for botanical insecticides: new classes of biomolecules should go through toxicological and other mandatory tests before being registered and released for large-scale production by the responsible agencies [ 39 ].
Some symbiotic bacteria have also been proposed to be used as an additional vector control method. The idea of exploiting microorganisms to combat mosquitoes is not new and was originally proposed more than 20 years ago. This strategy is also known as paratransgenesis but only when it involves the manipulation of symbionts for the production of anti-pathogen effector molecules [ 40 , 41 ]. Some important primary requirements for such symbionts are dominance, prevalence and stability within the insect body [ 40 ]. For example, a study using a green fluorescent protein-tagged Asaia strain showed that these bacteria colonized all mosquitoes. Furthermore, these bacteria massively colonized the larval gut and the male reproductive system. Asaia is also vertically transmitted, which corresponds to it quickly spreading throughout natural mosquito populations [ 42 ]. Up until now, there have been no programs or studies about releasing these mosquitoes carrying their symbionts into the environment; only preliminary laboratory studies have been conducted.
Wolbachia, a maternally transmitted Gram-negative endosymbiotic bacterium, is a promising tool against diseases transmitted by mosquitoes. Wolbachia can be found worldwide in numerous arthropod species. More than 65% of all insect species are naturally infected by it due to its capacity to manipulate cellular and reproductive processes in invertebrates. Wolbachia behaves more like a reproductive parasite by inducing feminization of genetic males, parthenogenesis, male-killing and cytoplasmic incompatibility (CI). Although the effects of Wolbachia infection on vector reproduction are understood on some level, the exact molecular mechanism of cytoplasmic incompatibility remains unknown despite a substantial amount of research [ 43 ]. CI is a conditional embryonic lethality that occurs when males infected with CI-inducing Wolbachia strains are crossed with uninfected females (unidirectional CI) or with females carrying other incompatible Wolbachia strains (bidirectional CI). The reciprocal mating of uninfected males mated with infected females produces viable Wolbachia-infected offspring. CI increases the frequency of Wolbachia infection in a given population with each subsequent generation. Uninfected males can be unknowingly contaminated by mating with infected females [ 44 , 45 , 46 , 47 ]. Strategies to use this bacterium as a vector control tool include (1) using Wolbachia-induced cytoplasmic incompatibility as a form of sterility for a mass male-release strategy analogous to a sterile insect technique and (2) using the reproductive advantage afforded by Wolbachia-induced cytoplasmic incompatibility as a population replacement strategy to drive wanted phenotypes into natural populations. These strategies are ways to suppress or modify insect populations to aid in the control of insect pests and disease vectors [ 43 ].
The Incompatible Insect Technique (IIT), based on the Sterile Insect Technique (SIT) [ 48 ], uses the cytoplasmic incompatibility characteristics of Wolbachia to achieve population suppression. Although population replacement approaches can be performed with the simultaneous release of both males and females, population-suppression strategies should aim to release only males. However, both SIT and IIT require a highly efficient sex separation method to avoid accidental release of females, which, in the case of IIT, may result in population replacement of the target population; the females are also potential carriers of pathogens. In the absence of an adequately accurate sexing system, Wolbachia and irradiation can be combined to ensure a successful population-suppression approach. Besides Ae. aegypti, other mosquito species such as Aedes polynesiensis (South Pacific), Aedes albopictus (Italy) and Culex pipiens quinquefasciatus (southwestern Indian ocean) are also being tested in different countries to demonstrate the feasibility of using this interaction as a population-suppression technology [ 49 ]. The use of Wolbachia has already motivated an international initiative to control mosquitoes; in the near future, this initiative may be incorporated into the guidelines of several countries as an official strategy for population suppression.
Studies of Wolbachia cytoplasmic incompatibility in mosquitoes infected with dengue virus have revealed that the severity of the host infection decreased using a type of Wolbachia originally found in Drosophila. This fact implies that the Wolbachia strain not only was able to reduce the mosquito life span and promote cytoplasmic incompatibility but was also able to reduce dengue infection [ 50 , 51 , 52 ]. Possible mechanisms for direct viral inhibition by Wolbachia include the production of reactive oxygen species by the bacterium and resource competition, such as cholesterol [ 53 ]. The next research step is a disease endpoint trial to test the efficacy of the method for dengue and dengue hemorrhagic fever control, ongoing monitoring in and around the release area to test for persistence, and releases to test the spatial spread of the infection across a populated area [ 54 ]. Experiments conducted in Australia have established a mosquito able to carry a specific Wolbachia population. After a few generations, some mosquitoes collected from the field exhibited the same dengue virus resistance for transmission as in the laboratory [ 55 ].
The use of Wolbachia as a biocontrol tool to reduce dengue transmission is currently being tested in several countries (
Mosquitoes carrying Wolbachia and forward infected with the dengue virus are not able to transmit the pathogen. According to Hoffmann et al. (2011) [ 54 ], no virus particle was found in the salivary glands in infections of the DENV-2 serotype. The disruption of dengue transmission by Wolbachia through saliva has been demonstrated to be nearly complete in laboratory assays; the strength of the effect is dependent on the Wolbachia strain. The strain variability is presumably due to variations in the densities and tissue distributions of Wolbachia [ 54 ]. For other arboviruses such as chikungunya, Wolbachia plays a limited role in the reduction or transmission of the virus [ 57 ]. Only a few strains are able to reduce transmission, and Wolbachia is not able to provide 100% protection. In some mosquito species, for example Culex sp., Wolbachia is critically involved in filaria transmission; increasing the number of species carrying Wolbachia might also increase the difficulty of controlling filariasis [ 58 ].
This symbiont has shown significant potential to be used as a vector-borne disease control; it is far from being an interesting side note in the arthropod literature. The Wolbachia-based technique can be enhanced even if it is used with other strategies such as classic vector control strategy and transgenics [ 58 ].
Genetic strategies for vector control are usually divided into two steps. The first step consists of population suppression, containment or eradication that aims to reduce or even eliminate specific insect species by developing genes that are either (conditionally) lethal or capable of making the insects sterile. The second step involves population transformation or replacement. The aim here is not to eliminate the vector but to create a substitution that will be responsible for introducing an effector gene designed to reduce or block disease transmission into the wild population [ 59 , 60 ].
The modification of natural insect populations to combat diseases and agricultural insect pests has existed for approximately 60 years, and the technique is continuously improving. SIT involves the release of a large number of radiation-sterilized males into a target population. When these males mate with native females a decrease in the females’ reproductive potential occurs, which results in the elimination or suppression of the target population if males are released in sufficient numbers over a sufficiently long period of time. The reduction in fecundity decreases both arthropod-borne pathogen transmission as well as the insect population [ 61 , 62 , 63 , 64 , 65 ].
Releases of sterile individuals have permitted the successful regional elimination of important pests such as the New World screwworm fly Cochliomyia hominivorax in United States, Mexico and Central America, the Mediterranean fruit fly (Medfly) Ceratitis capitata, the pink bollworm Pectinophora gossypiella in the United States and the codling moth Cydia pomonella in Canada. SIT has also been used to eliminate the tsetse fly ( Glossina fuscipes), which is a vector of trypanosomiasis, from Zanzibar. SIT is a proven, cost-effective strategy for eradicating or suppressing target populations and protecting areas against invasion or re-invasion [ 64 , 65 ].
SIT was been tested for mosquito control in the 1970s using various sterilizing approaches such as chemosterilization, ionizing radiation, cytoplasmic incompatibility and chromosome translocations [ 66 , 67 ].
Classical SIT trials used DNA-damaging agents such as γ-radiation that generates random dominant lethal mutations in the affected gametes. However, several different approaches have produced modified lines of mosquitoes that can generate sterile males. One example is the release of insects carrying a dominant lethal genetic system (RIDL) that uses a lethal gene expressed in the zygote, rather than in the father, which affords much greater flexibility since the lethal gene can be designed to act at a chosen point during development [ 68 ]. In the RIDL system, the offspring resulting from the mating of a transgenic male and a wild female die in the absence of an antibiotic antidote. This method is based on the SIT and also involves the release of a large number of male mosquitoes to compete with wild-type males for a chance to mate with wild females and thus effect population reduction through reduced production of offspring [ 69 , 70 ].
In this review, SIT will refer to male mosquito sterilization resulting from ionizing radiation or genetic modification. Irradiated or genetically modified mosquitoes (GMMs) are currently employed to combat diseases through mosquito vector population-suppression or replacement strategies [ 60 , 66 , 72 , 73 , 74 ].
Experimental releases of genetically modified (GM) insects have been reportedly occurring in various countries including France, Guatemala, India, Mexico, Panama, Philippines, Singapore, Thailand, the United States and Vietnam [ 75 ]. The first open-field trial involving a strain of engineered sterile male Ae. aegypti for population suppression took place in the Grand Cayman in 2009 and 2010. The transgenic line caused an approximately 80% suppression of the wild Ae. aegypti population in the test area compared with the experimental control area [ 76 , 77 , 78 ]. GM Ae. aegypti mosquitoes were also released in field trials in Malaysia in 2010 [ 79 ] and in Brazil in 2011 (manuscript in preparation) [ 80 , 81 , 82 ]. Results presented at the Regional Meeting of the Integrated Management Strategy for Dengue Prevention and Control held in Panama in 2013 proclaimed that the Brazilian GMM release yielded an 85% reduction in the Ae. aegypti population density in areas located in the Juazeiro and Jacobina municipalities (Bahia State) [ 83 ]. This project also involved a series of community engagement activities to ensure public awareness about the use of transgenic mosquitoes in integrated pest management ( Figure 4) [ 82 ].
Methods utilizing SIT to suppress wild mosquito populations have received increased attention in recent years as part of area-wide integrated pest management programs [ 71 , 84 , 85 ]. The field releases of GMMs are an innovative and now feasible approach to reduce the transmission of many vector-borne diseases [ 86 , 87 ]. Male mosquitoes, unlike female mosquitoes, are not blood feeders; therefore, there is no associated risk of increased biting annoyance or disease transmission. As a result, males are adequate tools for mosquito control [ 71 , 88 ]. Several technologies have been developed to improve the quality of the released sterile insects. In the case of mosquitoes, only males should be released. Therefore, the development of sex separation technologies during mosquito mass rearing is essential.
Public engagement activities realized in Bahia, Brazil [ 82 ].
The International Atomic Energy Agency (IAEA) is funding a Coordinated Research Project (CRP) entitled “Exploring Genetic, Molecular, Mechanical and Behavioural Methods of Sex Separation in Mosquitoes,” which includes researchers from multiple countries. This project aims to develop tools for mosquito SIT such as sexing techniques. The main research axes addressed by the CRP include the development of a genetic sexing strain based on irradiation, classical genetics, molecular genetics and sex separation using mechanical, behavioral and developmental tools [ 85 ].
Benedict and Robinson (2003) [ 66 ] state that “ Vector control is one of the few proven ways to reduce transmission of many vector-borne diseases. The effect on transmission is identical, regardless of whether the reduction is achieved by artificial means, such as residual spraying with DDT and cultural control, or by natural means, such as unfavorable seasonal climatic conditions or long-term climate change. The success of SIT can build directly upon these demonstrably effective measures .” [ 66 ].
Modeling studies suggest that the use of combined strategies using transgenic mosquitoes (for substituting and/or suppressing mosquito population) and other strategies, i.e., Wolbachia, can be more effective in terms of vector and disease control than any one strategy used by itself [ 60 , 89 ]. The release of sterile mosquitoes, combined with current control methods, can reduce the mosquito population density by decreasing the probability of contact between a host and a vector, which results in the suppression of disease transmission [ 71 , 90 , 91 ].
Insecticide control is most effective when applied to high population densities; however, the efficiency of the control decreases rapidly when populations decline and the local population is not completely eliminated. In contrast, SIT becomes more efficient as the population decreases since insects actively seek out areas inaccessible to insecticides [ 92 ]. Therefore, insecticide application combined with the release of GMMs can eliminate local populations of vector mosquitoes much more efficiently than the application of insecticides alone, which selects for a resistant population, side effects and pollution.
In Brazil, genetically modified organisms (GMOs) are governed by a Biosafety Law (Law No. 11.105 from March 2005) that lays out inspection and safety rules regulating activities that involve GMOs and creates the National Biosafety Technical Commission (CTNBio). The CTNBio is in charge of assessing direct biologic risks resulting from releasing a GMO into the environment. On 10 April 2014, the CTNBio approved the commercial use of the strain Ae. aegypti OX513A developed by Oxitec (Oxfford, UK) through Technical Report 3964/2014. This decision did not focus on issues of technology efficacy, costs or advantages/disadvantages as compared with other technologies of Ae. aegypti population control. The CTNBio reports that Ae. aegypti pose no additional risks to the environment, human beings and animals [ 93 , 94 ].
Recently, the Florida Keys Mosquito Control District (United States) showed an interest in releasing GMMs in Key Haven (a community on an island adjacent to Key West) as a response to the Key West dengue outbreak of 2009 and 2010. This outbreak was the first dengue episode to occur in the continental United States (not including the Texas-Mexico border) since 1945 and the first locally acquired case in Florida since 1934. Local authorities considered conducting the first United States release of GM male Ae. aegypti mosquitoes to prevent dengue dissemination. The Food and Drug Administration Center for Veterinary Medicine (FDA-CVM), the Centers for Disease Control and Prevention (CDC) and the Environmental Protection Agency (EPA) are working together to develop federal regulation about such releases [ 95 , 96 , 97 ].
According to Oliva et al. (2014) [ 71 ], the success of control strategies that integrate the liberation of sterile males as part of wider pest control or health-management programs strongly depends on gaining public understanding and acceptance. The integration of SIT should be conducted carefully and requires proper long-term planning. Potential sites for implementing mosquito control programs using SIT are diverse and culturally distinct and require well-adapted ways of disseminating information and public interaction strategies [ 71 ].
Brazil’s PNCD should have its current strategies reassessed; the dengue surveillance system should be improved. With the end of open-field trials, the release of transgenic mosquitoes may rapidly become a reality in Brazil. This new technology may confer more effectiveness to Brazil’s vector control planning. Integrated vector management should incorporate as many procedures as possible to ensure long-term success.
An integrated approach is the most effective strategy to overcome the constant threat of dengue in tropical and subtropical areas in which the existence of main vectors and viral circulation are an undesirable reality. To ensure effective dengue control measures it is necessary to maintain educational and control programs that are governmental priorities. Furthermore, problems such as unplanned urbanization, inadequate water supplies and poor sanitary conditions should be considered and addressed when looking for long-term interventions. Moreover, it is important to note the dengue vaccine development scenario since chemotherapy for this disease is not currently available. An ideal dengue vaccine needs to produce heterotypic immunization; in other words, the seroconversion needs to be efficient for all four serotypes. If not, an immunization may morph into an antibody-dependent enhancement after subsequent infections, a phenomenon inherent in dengue immunopathology [ 98 ].
Nowadays, multiple dengue vaccines are in developmental stages. For example, Sanofi-Pasteur and TetraVax-DV dengue vaccines are in the advanced stages in Phase 3 trials, and the preliminary seroconversion results are encouraging but not optimal [ 99 , 100 ]. Nevertheless, some mathematical models suggest that the use of suboptimal vaccines can be beneficial in some epidemic situations [ 101 ]. However, even if commercial dengue vaccines are available soon after a successful licensure process, vector control is critical to disrupting the epidemiologic triad of dengue and other emergent/resurgent mosquito-borne viruses that Ae. aegypti can also transmit. Thus, an integrated approach focusing on the mosquito vector cannot be disputed.
Therefore, recycling the principles and executive actions focused on the rapid incorporation of new vector control technologies can facilitate essential adaptations to the drastic epidemic scenarios occurring frequently in endemic countries. The goal of this review was to promote a central discussion in relation to the evolution of the national programs supporting dengue control using the case of Brazil as a real-life example. Brazil is taking the first steps to aggregate recent developed technologies such as transgenic mosquitoes and Wolbachia. At the same time, the experiences made after trials or the implementation of these technologies in other countries can support strategy modifications as necessary in national programs. However, it is always critical to take into account local characteristics and specific problems.
Research related to vector-borne diseases is currently fertile for innovation. New control methods are arising and showing significant potential for success supported by basic science. Maintaining basic research investments and development incentives can provide a range of tools to increase versatility to deal with different dengue situations. However, regular incorporation of the new methods will strengthen the management capacities of both centralized and decentralized government programs. Prioritizing this view is urgent because the Ae. aegypti vector has shown that it is extremely adaptable to human environments and possesses a high reproductive capacity and genetic flexibility, factors that fatally dismantle the best control programs around the world.
This work is funded by Grant #455014/2014-0 from the Brazilian National Research Council (CNPq) and Grant #17939 from the International Atomic Energy Agency (IAEA) and the National Institute of Science and Technology of Molecular (INCT-EM). Helena R. C. Araújo is supported by Fellowship #2013/16609-4 of the São Paulo Research Foundation (FAPESP). André L. Costa-da-Silva is supported by Fellowship # 1252482 of the Postdoctoral National Program of the Coordination for the Improvement of Higher Education Personnel (PNPD/CAPES). Danilo O. Carvalho and Rafaella S. Ioshino are supported by CAPES. Margareth L. Capurro is supported by Fellowship #303341/2012-2 for research productivity (CNPq). This manuscript was edited by American Manuscript Editors. We thank Alexander Schutz Gomes for designing the drawings.
Each author has contributed equally to the paper.
The authors declare no conflict of interest.


New entry
Enter a name for your entry.
You can look at the table underneath for help.
Leave empty for no timezone change and use local time instead.
Entries
strftime cheat sheet
Source: strftime JavaScript libary.
Unsupported specifiers are rendered without the percent sign. e.g. %q becomes q. Use %% to get a literal % sign.
A: full weekday name
a: abbreviated weekday name
B: full month name
b: abbreviated month name
C: AD century (year / 100), padded to 2 digits
c: equivalent to %a %b %d %X %Y %Z in en_US (based on locale)
D: equivalent to %m/%d/%y in en_US (based on locale)
d: day of the month, padded to 2 digits (01-31)
e: day of the month, padded with a leading space for single digit values (1-31)
F: equivalent to %Y-%m-%d in en_US (based on locale)
H: the hour (24-hour clock), padded to 2 digits (00-23)
h: the same as %b (abbreviated month name)
I: the hour (12-hour clock), padded to 2 digits (01-12)
j: day of the year, padded to 3 digits (001-366)
k: the hour (24-hour clock), padded with a leading space for single digit values (0-23)
L: the milliseconds, padded to 3 digits [Ruby extension]
l: the hour (12-hour clock), padded with a leading space for single digit values (1-12)
M: the minute, padded to 2 digits (00-59)
m: the month, padded to 2 digits (01-12)
n: newline character
o: day of the month as an ordinal (without padding), e.g. 1st, 2nd, 3rd, 4th, ...
P: "am" or "pm" in lowercase (Ruby extension, based on locale)
p: "AM" or "PM" (based on locale)
R: equivalent to %H:%M in en_US (based on locale)
r: equivalent to %I:%M:%S %p in en_US (based on locale)
S: the second, padded to 2 digits (00-60)
s: the number of seconds since the Epoch, UTC
T: equivalent to %H:%M:%S in en_US (based on locale)
t: tab character
U: week number of the year, Sunday as the first day of the week, padded to 2 digits (00-53)
u: the weekday, Monday as the first day of the week (1-7)
v: equivalent to %e-%b-%Y in en_US (based on locale)
W: week number of the year, Monday as the first day of the week, padded to 2 digits (00-53)
w: the weekday, Sunday as the first day of the week (0-6)
X: equivalent to %T or %r in en_US (based on locale)
x: equivalent to %D in en_US (based on locale)
Y: the year with the century
y: the year without the century (00-99)
Z: the time zone name, replaced with an empty string if it is not found
z: the time zone offset from UTC, with a leading plus sign for UTC and zones east of UTC and a minus sign for those west of UTC, hours and minutes follow each padded to 2 digits and with no delimiter between them
For more detail see man 3 strftime as the format specifiers should behave identically. If behaviour differs please file a bug.
Any specifier can be modified with -, _, 0, or : as well, as in Ruby. Using %- will omit any leading zeroes or spaces, %_ will force spaces for padding instead of the default, and %0 will force zeroes for padding. There's some redundancy here as %-d and %e have the same result, but it solves some awkwardness with formats like %l. Using %: for time zone offset, as in %:z will insert a colon as a delimiter.


We do...
In the future we will do...
Built this...
Made that...
What do
Much learn


Goku - Greatest Of All Time!!
GOKU IS MY FAVOURITE CHARACTER OF ALL TIMES IN ANIME
GOKU Attribute
Strong Willed
Powerfull being
Persistent being


|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
Management Interface for the ImageCaptchaService
| Method Summary | |
void |
garbageCollectCaptchaStore()
Garbage collect the captcha store |
double |
getCaptchaStoreLoad()
Get the load of the captcha store (number of current entries / capacity of the store) |
java.lang.String |
getImageCaptchaEngineClass()
Get the fully qualified class name of the concrete ImageCaptchaEngine used by the service. |
int |
getMaxNumberOfSimultaneousCaptchas()
Get the maximum number of captchas the service can manage simulaneously. |
int |
getMinGuarantedStorageDelayInSeconds()
Get the minimum delay (in seconds) a client can be assured that a captcha generated by the service can be retrieved and a response to its challenge tested |
long |
getNumberOfCorrectResponses()
Get the number of correct responses to captcha challenges since the service is up. |
int |
getNumberOfGarbageCollectableCaptchas()
Get the number of captchas that can be garbage collected in the captcha store |
long |
getNumberOfGarbageCollectedCaptcha()
Get the number of captcha garbage collected since the service is up WARNING : this value won't be significant if the real number is > Long.MAX_VALUE |
long |
getNumberOfGeneratedCaptchas()
Get the number of captcha generated since the service is up WARNING : this value won't be significant if the real number is > Long.MAX_VALUE |
long |
getNumberOfUncorrectResponses()
Get the number of uncorrect responses to captcha challenges since the service is up. |
void |
setImageCaptchaEngineClass(java.lang.String theClassName)
Set the fully qualified class name of the concrete ImageCaptchaEngine used by the service |
void |
setMinGuarantedStorageDelayInSeconds(int theMinGuarantedStorageDelayInSeconds)
set the minimum delay (in seconds)a client can be assured that a captcha generated by the service can be retrieved and a response to its challenge tested |
| Method Detail |
public java.lang.String getImageCaptchaEngineClass()
public void setImageCaptchaEngineClass(java.lang.String theClassName) throws java.lang.IllegalArgumentException
theClassName
- the fully qualified class name of the
ImageCaptchaEngine used by the service
java.lang.IllegalArgumentException
- if className can't be used as the
service ImageCaptchaEngine, either because it can't be instanciated
by the service or it is not a ImageCaptchaEngine concrete class.public int getMaxNumberOfSimultaneousCaptchas()
public int getMinGuarantedStorageDelayInSeconds()
public void setMinGuarantedStorageDelayInSeconds(int theMinGuarantedStorageDelayInSeconds)
theMinGuarantedStorageDelayInSeconds
- the
minimum guaranted delaypublic long getNumberOfGeneratedCaptchas()
public long getNumberOfCorrectResponses()
public long getNumberOfUncorrectResponses()
public double getCaptchaStoreLoad()
public int getNumberOfGarbageCollectableCaptchas()
public long getNumberOfGarbageCollectedCaptcha()
public void garbageCollectCaptchaStore()
|
|||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |


Artifacts
Artifacts are items that store elemental power within them granting the Character additional power. To craft an Artifact, the Character needs the Essences obtained from defeating Enemies. Artifacts can be further powered up by enchanting them with additional properties. Lastly, they can be dismantled back into Essences if the Character decides they do not need the Artifact.
Essence
Essences are a concentration of Element given physical form. These are obtained by defeating Enemies, which determines the Essence’s Element and Grade. The Essence’s Element is dependent on the Enemy’s highest EM value. The Essence’s Grade is dependent on the Enemy’s Level, and requires an Essence Die roll to determine the Grade. See the table below for more information.
| Enemy Level | Essence Die | Obtained Essence Grade by Essence Die Result | |||
|---|---|---|---|---|---|
| 1 - 3 | 1d6 | 1 - 3: No Essence | 4 - 6: Lesser | - | - |
| 4 - 6 | 1d8 | 1 - 2: No Essence | 3 - 6: Lesser | 7 - 8: Normal | - |
| 7 - 9 | 1d10 | 1 - 2: No Essence | 3 - 6: Lesser | 7 - 8: Normal | 9 - 10: Greater |
| 10 | 1d12 | 1: No Essence | 2 - 5: Lesser | 6 - 9: Normal | 10 - 12: Greater |
Refining
Lower Grade Essences can be refined into higher Grade Essences. Refining requires 4 Essences of the same Element and Grade to be consumed to obtain 1 Essence of the same Element and next Grade above.
Crafting
Crafting turns Essences into Artifacts that the Character can equip for unique bonuses and penalties. Artifact bonuses and penalties stack with modifiers from Abilities.
| Artifact | Essences Required | Bonus | Penalty |
|---|---|---|---|
| Rune | 4 Lesser Earth | Attack Rolls +2 | Resistance Rolls -2 |
| Buckler | 4 Lesser Earth | Defense Rolls +2 | Status Rolls -2 |
| Lantern | 4 Lesser Fire | Resistance Rolls +2 | Status Rolls -2 |
| Dagger | 4 Lesser Fire | Attack Rolls +2 | Defense Rolls -2 |
| Robe | 4 Lesser Water | Resistance Rolls +2 | Attack Rolls -2 |
| Staff | 4 Lesser Water | Status Rolls +2 | Defense Rolls -2 |
| Lyre | 4 Lesser Wind | Defense Rolls +2 | Attack Rolls -2 |
| Bow | 4 Lesser Wind | Status Rolls +2 | Resistance Rolls -2 |
Enchanting
Enchanting add additional effects to an Artifact. Enchanting requires higher grade Essences to be used. Enchanting is permanent and can only be performed once per Artifact.
| Enchantment | Essences Required | Bonus | Penalty |
|---|---|---|---|
| Reinforced | 2 Normal Earth | HP +5 | Movement -1 |
| Rumbling | 2 Normal Earth | Earth EM +4 | Water EM -4 |
| Savage | 2 Normal Fire | Movement +1 | HP -5 |
| Ardent | 2 Normal Fire | Fire EM +4 | Wind EM -4 |
| Infused | 2 Normal Water | HP +5 | Movement -1 |
| Flowing | 2 Normal Water | Water EM +4 | Earth EM -4 |
| Wild | 2 Normal Wind | Movement +1 | HP -5 |
| Stormy | 2 Normal Wind | Wind EM +4 | Fire EM -4 |
| Guardian's | 1 Greater Earth | HP +20 | All EM -3 |
| Druid's | 1 Greater Earth | Conditions given to Enemy: Add Turn +2 | Conditions gained from Enemy: Add Turn +2 |
| Knight's | 1 Greater Fire | Attack Rolls +1d8 | Resistance Rolls -1d8 |
| Wizard's | 1 Greater Fire | Status Rolls +1d8 | Defense Rolls -1d8 |
| Gladiator's | 1 Greater Water | Penalties gained from Enemy: Add Turn -2 | Bonuses gained from Ally: Add Turn -2 |
| Sage's | 1 Greater Water | Bonuses gained from Ally: Add Turn +2 | Penalties gained from Enemy: Add Turn +2 |
| Ranger's | 1 Greater Wind | Range +2 | HP -20 |
| Rogue's | 1 Greater Wind | First 3 Turns of Combat: Self gains Die Rolls +3 | After first 3 Turns of Combat: Self gains Die Rolls -3 |
Dismantling
Dismantling allows for the Artifacts to be reduced back to Essences. When Dismantling, the Character rolls a Dismantle Die based on the highest Essence Grade used on the Artifact or its Enchantment. The Dismantling Die results determines the Grade of the Essence returned. The Element of the returned Essence is determined by the highest number of same Element Essences used in the Crafting of the Artifact.
| Highest Essence Grade | Dismantle Die | Returned Essence Grade by Dismantle Die Result | |||
|---|---|---|---|---|---|
| Lesser | 1d6 | 1 - 4: No Essence | 5 - 6: Lesser | - | - |
| Normal | 1d8 | 1 - 4: No Essence | 5 - 7: Lesser | 8: Normal | - |
| Greater | 1d10 | 1 - 5: No Essence | 6 - 7: Lesser | 8 - 9: Normal | 10: Greater |


{% extends "accounts/register.html" %} {% block content %}
{% if reason %} {{reason}} {% elif form.email or form.phone %} {# We don't have a password yet. Could be a frictionless registration or an invite. #} {% trans %}You are about to activate your account. Please set a password to secure it.{% endtrans %} {% elif view.kwargs.token == object.email_verification_key %} {% trans %}Thank you for verifying your e-mail address. Please enter your password to login.{% endtrans %} {% elif view.kwargs.token == object.phone_verification_key %} {% trans %}Thank you for verifying your phone number. Please enter your password to login.{% endtrans %} {% endif %}
{% trans %}This activation token is invalid or has expired. Maybe you have already used it before?{% endtrans %}
{% trans %}You already have an account?{% endtrans %} {% trans %}Sign in{% endtrans %}
{% endif %}


My First Heading
This is a heading
This is a heading
This is a heading
123
456
daohang
This is a link


In this tutorial we'll show you how to handle errors in Nova dashboard. You will know-how provide an empty state view for the widget so users will be informed when there's no data or an error has occurred. We have default error state handling for all types of widgets.
We have three params in the method widgetBodyContentNodes
, which responsible for widget error handling:
fallbackAdapterId
The id for the adapter responsible for activating fallback content in case of an error (default value:
NOVA_STATUS_CONTENT_FALLBACK_ADAPTER)
fallbackMap
A map of node keys to fallback content definitions (default value: ERROR_FALLBACK_MAP)fallbackNodes
An index of fallback content definitions (default value: ERROR_NODES)You can see below the code examples of each part, which are used as a default for widget error handling
The example of adapter
A map of error codes to widget error node keys
Each error configuration has:
id
of error node keycomponentType
of widget error componentproperties (image, title and description)
for displaying error details
In the example below, we'll implement a sample KPI widget with an error. If the widget data source results in a known error transition we need to show the
corresponding error layout configuration. If the data source reports
an unknown error type transition we need to show an "unknown error" layout configuration. Switch into other data sources to see the handling of different
errors in the widget. Each data source provides an error from
ERROR_FALLBACK_MAP
. A widget with no errors does not display an error layout. You can check it when switching to AverageRatingKpiDataSource
.
If the data source outputs an error as part of its outputsSubject
payload, the configurator will display an error message including the string
specified in the message
property of the payload's error object.
If there's no value for the message
property, the error message will just display the value of the type
property. The component
responsible for this logic is the
DataSourceErrorComponent
. If you want to use a custom component for this, you'll need to to set the errorComponent
property in the configurator section of the
pizzagna with the lateLoadKey
of your custom component.
For instructions on how to do that, be sure to take a look at the Implementing a Custom Data Source Configurator
tutorial.
At first, follow the instructions here to implement
your custom widget. Then you need to modify the widget type definition by changing the retrieving the definitions for the body content nodes in the method
widgetBodyContentNodes
.
You can see below the declaration of that method:
fallbackAdapterId, fallbackMap, fallbackNodes
to your own widget error handling.


Preparation time
less than 30 mins
Cooking time
1 to 2 hours
Serves
Makes 8 buns
Dietary
Bake a batch of these sweet, sticky buns with a hint of lemon. They’re perfect for afternoon tea.
Place the flours, water, milk, yeast, salt, sugar and lemon zest into a large bowl and mix with a fork until combined. Add the beaten egg and butter and continue to mix until the mixture comes together as a sticky dough.
Tip the dough onto a lightly floured work surface and knead for five minutes, or until the dough is smooth and elastic.
Lightly oil a bowl with a little of the vegetable oil.
Place the dough into the bowl and turn until it is covered in the oil. Cover the bowl with cling film and set aside in a warm place for one hour, or until the dough has doubled in size.
Lightly grease two baking trays.
Knock the dough back to its original size and turn it out onto a lightly floured work surface. Divide the dough into eight portions, shape them into rounds and place onto the baking trays. Ensure the rolls are well spaced. Cover with a tea towel and set aside to prove for 30 minutes.
Preheat the oven to 220C/425F/Gas 7.
Bake the buns in the oven for 20-25 minutes or until well risen and golden-brown. Remove the buns from the oven and set aside to cool on a wire rack.
Meanwhile for the icing, mix the icing sugar and lemon juice together in a bowl until smooth.
Once the buns have completely cooled, spread the icing on top of them and set aside until the icing has hardened.


lab7
package in the
labs source folder.
Update by right-clicking (control-click on Mac) the main project in the package explorer, drag down to Team... and click Update.You should see a lab7 package in the labs source folder.
There will be many red flags in VectorAndPointTest because you have not yet implemented the Vector class. That's OK.
This is the last lab in which you will not be penalized greatly for style problems.Thus it would behoove you to practice good style in this lab, ask style questions of the TA, so as to be prepared to exhibit good style on future labs.
You are encouraged to work on Parts I and II using test-driven development.
Test-driven development means that the code you write is governed by the tests your code has to pass. For this lab, you are provided aVectorAndPointTest
JUnit test case. You will use the test methods in that file to drive your implementation ofVector
.You will follow this same methodology as you develop your Point class.
If you think about them this way, you can see how vectors can
be added, as shown below.
You are to proceed with the development of your Vector class by considering these tests one at a time. For example, the init() test will require you to write the constructor for Vector.You will have red flags because Vector is not yet complete, but you can run the JUnit test nonetheless. If you expand the lab7.VectorAndPointTest in the JUnit window, you can see which tests are passing or not. Clicking on a given test shows you the detail below in the Failure Trace window.After that, the arith() test would have you implement Vector's plus and minus methods.A green checkmark indicates success; a dark X indicates failure; a red X indicates compilation problems not yet addressed.
As you follow the instructions below, develop and then test each method one at a time! Read through the instructions before and during your develpment to guide your writing of the Vector class.
To accomplish this, declare two instance variables in the Vector class, and name them deltaX and deltaY. Both should be of type double.
Naming conventions: By convention, names of instance variables and methods should begin with lower case letters, to distinguish them from class names, which begin with upper case letters. If a variable has multi-word name, we usually capitalize subsequent words. For example, thisIsAVeryLongVariableName.
Encapsulation: Objects usually contain data, and it is good design practice to make sure that this data can't be "messed with" by other classes. Other classes should call methods on the object to access the information. That way, each class can control what is seen and, more importantly, how it is modified.
Make both of the instance variables in your Vector class private by typing the keyword private at the beginning of the declaration, before the type of variable.When you make the variables private, Java will make sure that the only way that code in other classes can see or modify their values is by calling methods of the Vector class.
Tip: You can type the constructor yourself if you want, but Eclipse provides some tools for generating these kinds of constructors automatically. To create the constructor automatically, first position your text cursor on the class name at the beginning of the file. Then open the Source menu and select "Generate constructor using fields." Finally, select the boxes for deltaX and deltaY so that the constructor will have parameters that are used to initialize those instance variables.Name masking: A method or constructor may have a parameter whose name is the same as the name of an instance variable. For example, you might have a parameter and instance variable both with the name "deltaX." When a name is used in a program, it refers to the "closest" declaration. So any use of the name "deltaX" would refer to the parameter. In this case, we say that the parameter masks the instance variable. But inside the method or constructor, we may still want to use or change the value of the instance variable. Within a method, the keyword this always refers to the object on which the method has been invoked (i.e., "this" object). When an instance variable is masked, you can still refer to it by preceding its name with "this." For example, inside the method, this.deltaX = deltaX will assign the value of the parameter deltaX to the instance variable named deltaX inside "this" object.
Implicit targets: Normally, when you call a method on a target
object, you identify the target, and then identify the method and its
actual parameters. For example,
alice.deposit(50)
calls the deposit method on the object to which alice refers.
In other words, alice is the target. If you don't identify a
target, then it is assumed that the target is the same object that is
currently executing a method. For example, if we call the
deposit method on alice and inside of the deposit method
there is an expression getBalance(), then it is understood
that the method will be called on alice since that is the
object in which the deposit method is executing. In such cases, it is not
necessary (and considered bad style) to use the word "this" because it
is already understood that this object is the target.
Tip: You can type the methods yourself, or you can open the Eclipse Source menu and select "Generate Getters and Setters." Check the boxes for "getDeltaX" and "getDeltaY." Study the methods after creating them.
At this point, your VectorAndPointTest JUnit test should pass its init() test.
Since Vector objects will be immutable, the rest of these methods will create new vectors as their return values. They'll do this by first computing the desired deltaX and deltaY values, and then using the Java keyword new to call the constructor you wrote earlier. You can define local variables inside the methods whenever it's convenient, but remember that the final result of each method will be a new vector. Don't modify the object on which the method was called.
Note: You may want to add the word final to the declaration of your instance variables. This indicates that the instance variable's value should be established by the constructor and not be changed by any other method. Adding final will prevent you from accidentally changing the value in the methods you write for the Vector class.
Hint: The parameter type and return type of this method are both Vector. When you create the new vector to be returned, you will need to supply parameter values. To compute those parameter values, you can use both "this" vector (the one on which the method was called) and the vector that was passed in as a parameter.
Challenge: Write minus in terms of methods you have already defined for the Vector class. Which computer science principle are you applying by doing that?
At this point, your VectorAndPointTest JUnit test should also pass its arith() test.
Recall: Scaling a vector by some factor can be accomplished by scaling its deltaX and deltaY components by that same factor. Be sure to return a new vector, and don't change the one on which this method was called.
At this point, your VectorAndPointTest JUnit test should also pass the testScaleAndDeflect() test.
Hint: First call the magnitude method to find this vector's magnitude and save it in a local variable. Use this to compute a scale factor, and then let the scale method do the rest of the work.NOTE: If the target of the rescale method has a zero magnitude, no particular direction is defined for the resulting vector. One could consider this an error condition, but for the purposes of this assignment, if the original magnitude is zero, let the resulting vector have deltaX equal to the given magnitude, and deltaY equal zero.
At this point, make sure your code passes all the VectorAndPointTest cases provided with this lab. Do NOT change the test code (we are watching and will know if the revision changes on that file).
Note: You are encouraged to develop Point as you did Vector, using test-driven development.
Write a minus method of the Point class that takes another Point as its parameter and returns the appropriate vector.
Try to implement this by reducing this problem to calls of methods you have already written
When you done with this lab, you must be cleared by the TA to receive credit.
- Commit all your work to your repository
- Fill in the form below with the relevant information
- Have a TA check your work
- The TA should check your work and then fill in his or her name
- Click OK while the TA watches
- If you request propagation, it does not happen immediately, but should be posted in the next day or so
This demo box is for lab 7
When you done with this lab, you must be cleared by the TA to receive credit.
- Commit all your work to your repository
- Fill in the form below with the relevant information
- Have a TA check your work
- The TA should check your work and then fill in his or her name
- Click OK while the TA watches
- If you request propagation, it does not happen immediately, but should be posted in the next day or so
This demo box is for lab 7


Confira os melhores jogos para PC
Fortinite
GTA: San Andreas
PUBG
Need for speed: Monst Wanted
Assassins Creed: Unity
Battlefield 1
Call of Duty: Modern Warfare
Farcray 4
© 2020, Fabiano Amaral Alves
Email: fabianoamaral445@gmail.com


DAUGHTERS OF THE DUST A film review by Ken Johnson Copyright 1992 Ken Johnson
120 min., not rated, Drama/Documentary, 1992 Director: Julie Dash
The film is about a tribe of African people who used to be slaves and are now living on a series of islands off the coast of South Carolina and Georgia. They have their own culture and speak a mixture of American and their native tongue. Their islands are now threatened. The basic plot behind the film covers one family leaving their island.
This is going to be a relatively short review because I only watched half an hour before I got completely bored with this film. Because of the number of people on the network who disliked this film compared with those who liked the film I didn't go to see it when it played at the art theater in my area. One week later it came on public television, and I figured I would try it for free. I found the film to be incredibly boring, and I am glad that I didn't pay any money to see the film. Someone who is really interested in these people might like this film; I don't know. On a scale of zero to five I give this film a zero. DAUGHTERS OF THE DUST is not rated and doesn't contain anything objectionable.
The cinematography was beautiful, and so were the islands. I think that this was the best part of the film, and why I lasted half an hour. The actors/actresses also did a great job. The fault lies in the writing. The dialogue was boring and the people spoke in a way that was hard to understand, so it took a lot of concentration to follow the dialog.
I don't recommend this film unless you are interested in a documentary type film on these people or if you will watch a film just for the photography. The photography probably looks better in a theater on a large screen than on a television screen, so if that is your reason for seeing the film I suggest that you see it in the theater. If you do decide to go see DAUGHTERS OF THE DUST, I suggest matinee prices if available.
Ken J<EMAIL_ADDRESS>.
The review above was posted to the
rec.arts.movies.reviews newsgroup (de.rec.film.kritiken for German reviews).
The Internet Movie Database accepts no responsibility for the contents of the
review and has no editorial control. Unless stated otherwise, the copyright
belongs to the author.
Please direct comments/criticisms of the review to relevant newsgroups.
Broken URLs inthe reviews are the responsibility of the author.
The formatting of the review is likely to differ from the original due
to ASCII to HTML conversion.
Related links: index of all rec.arts.movies.reviews reviews


MarkIt
December 2017
This is a React app that allows the user to bookmark links, which will be stored in their account and can be accessed across devices. Users can create folders to categorize their bookmarks, search and sort bookmarks within folders, share folders with public access links, and share folders with specific users through email invitation.
Seattle Library Checkouts - Data Explorer
November 2017
This is a React app that allows the user to explore data on checkouts from Seattle public libraries. It features filtering by month and search terms, sortable tables, and charts that display how many times each item has been checked out per month.
SQUAREDANCE
October 2017
This is a challenging minimal action game built with Javascript using the HTML5 canvas. The player moves by latching onto obstacles and pushing or pulling themselves towards it, and the objective is to survive for as long as possible without touching the oncoming obstacles.
Personal Portfolio Website
October 2017
Over the course of about a week, I designed and built this website using the Materialize framework. This involved designing around a variety of screen sizes, along with providing accessibility for screen readers. I also experimented with some simple Javascript to produce animated backgrounds and to enhance accessibility.
US Energy Data Visualization
June 2017
This report analyzes data from the US Energy Information Administration on energy consumption, production, and expenditures from 1960 to 2014. Using R, we cleaned, filtered, and analyzed the data, then produced various interactive visualizations and presented them in a web app.
Enter the Gungeon Wiki
February 2015 - present
Over the past couple of years, I have built and maintained a wiki for the video game Enter the Gungeon, a dungeon crawler rogue-lite. This has involved designing methods of presenting and organizing information, collecting and verifying data, and a lot of writing.


Enjoy a free consultation with our web experts.
24/7/365 Support Means We're Always Available To Help!
Customer service 24/7 Call Free On 38502 900 285 00
Enjoy a free consultation with Hostino’s best web experts.
We're ready to answer any and all questions.
Start chatting with our representative by clicking the chat icon
We are located in Bahrain, Manama Come and have a nice cup of coffee!
The City Avenue, Office 38, Floor 3 Road 398, Block 125


Installation¶
Reference¶
If you use this library in your research, please cite ADAPT using the following reference:
A. de Mathelin, ADAPT Awesome Domain Adaptation Package Toolbox,
Website: https://antoinedemathelin.github.io/adapt/_build/html/index.html, 2020
Or in BibTeX format:
@misc{demathelin2020adapt,
title={ADAPT Awesome Domain Adaptation Package Toolbox},
author={A. de Mathelin},
url={https://antoinedemathelin.github.io/adapt/_build/html/index.html},
year={2020}
}
Pypi Installation¶
This package is available on Pypi. It has been tested on Linux, MacOSX and Windows for Python versions: 3.5, 3.6 and 3.7. It can be installed with the following command line:
pip install adaptation
The following dependencies are required and will be installed with the library:
numpy
scipy
tensorflow (>= 2.0)
scikit-learn
If for some reason, these packages failed to install, you can do it manually with:
pip install numpy scipy tensorflow scikit-learn
Finally import the module in your python scripts with:
import adapt
Examples¶
Please look at these examples to learn how to use the algorithms provided by the ADAPT package.


0:00:00
0:00
0:00:00
0:00
PV (Black)
PV (White)
TCEC is powered by ... chessboard.js and cutechess-cli