From 5cd530b56ad7d06e854602e12e2d15c074f92ccd Mon Sep 17 00:00:00 2001 From: Daniel Quinn Date: Thu, 10 Mar 2016 19:16:00 +0000 Subject: [PATCH] Added the beginnings of the presentation for March 15th --- presentation/README.md | 6 + .../font-awesome-4.3.0/css/font-awesome.css | 1801 +++++++ .../css/font-awesome.min.css | 4 + .../font-awesome-4.3.0/fonts/FontAwesome.otf | Bin 0 -> 93888 bytes .../fonts/fontawesome-webfont.eot | Bin 0 -> 60767 bytes .../fonts/fontawesome-webfont.svg | 565 +++ .../fonts/fontawesome-webfont.ttf | Bin 0 -> 122092 bytes .../fonts/fontawesome-webfont.woff | Bin 0 -> 71508 bytes .../fonts/fontawesome-webfont.woff2 | Bin 0 -> 56780 bytes .../font-awesome-4.3.0/less/animated.less | 34 + .../less/bordered-pulled.less | 16 + .../contrib/font-awesome-4.3.0/less/core.less | 13 + .../font-awesome-4.3.0/less/fixed-width.less | 6 + .../font-awesome-4.3.0/less/font-awesome.less | 17 + .../font-awesome-4.3.0/less/icons.less | 596 +++ .../font-awesome-4.3.0/less/larger.less | 13 + .../contrib/font-awesome-4.3.0/less/list.less | 19 + .../font-awesome-4.3.0/less/mixins.less | 27 + .../contrib/font-awesome-4.3.0/less/path.less | 15 + .../less/rotated-flipped.less | 20 + .../font-awesome-4.3.0/less/stacked.less | 20 + .../font-awesome-4.3.0/less/variables.less | 606 +++ .../font-awesome-4.3.0/scss/_animated.scss | 34 + .../scss/_bordered-pulled.scss | 16 + .../font-awesome-4.3.0/scss/_core.scss | 13 + .../font-awesome-4.3.0/scss/_fixed-width.scss | 6 + .../font-awesome-4.3.0/scss/_icons.scss | 596 +++ .../font-awesome-4.3.0/scss/_larger.scss | 13 + .../font-awesome-4.3.0/scss/_list.scss | 19 + .../font-awesome-4.3.0/scss/_mixins.scss | 27 + .../font-awesome-4.3.0/scss/_path.scss | 15 + .../scss/_rotated-flipped.scss | 20 + .../font-awesome-4.3.0/scss/_stacked.scss | 20 + .../font-awesome-4.3.0/scss/_variables.scss | 606 +++ .../font-awesome-4.3.0/scss/font-awesome.scss | 17 + presentation/contrib/google/css/lato.css | 24 + .../google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf | Bin 0 -> 82368 bytes ...I1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf | Bin 0 -> 82616 bytes .../google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf | Bin 0 -> 81332 bytes .../google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf | Bin 0 -> 81980 bytes presentation/css/print/paper.css | 202 + presentation/css/print/pdf.css | 157 + presentation/css/reveal.css | 1141 +++++ presentation/css/reveal.scss | 1316 +++++ presentation/css/theme/README.md | 25 + presentation/css/theme/beige.css | 265 + presentation/css/theme/black.css | 261 + presentation/css/theme/blood.css | 291 ++ presentation/css/theme/league.css | 267 + presentation/css/theme/moon.css | 265 + presentation/css/theme/night.css | 259 + presentation/css/theme/serif.css | 261 + presentation/css/theme/simple.css | 261 + presentation/css/theme/sky.css | 268 ++ presentation/css/theme/solarized.css | 265 + presentation/css/theme/source/beige.scss | 39 + presentation/css/theme/source/black.scss | 49 + presentation/css/theme/source/blood.scss | 91 + presentation/css/theme/source/league.scss | 34 + presentation/css/theme/source/moon.scss | 57 + presentation/css/theme/source/night.scss | 35 + presentation/css/theme/source/serif.scss | 35 + presentation/css/theme/source/simple.scss | 38 + presentation/css/theme/source/sky.scss | 46 + presentation/css/theme/source/solarized.scss | 63 + presentation/css/theme/source/white.scss | 49 + presentation/css/theme/template/mixins.scss | 29 + presentation/css/theme/template/settings.scss | 43 + presentation/css/theme/template/theme.scss | 339 ++ presentation/css/theme/white.css | 261 + presentation/img/alot.png | Bin 0 -> 71593 bytes presentation/img/php.png | Bin 0 -> 39266 bytes presentation/img/pony.png | Bin 0 -> 109739 bytes presentation/img/python.png | Bin 0 -> 50731 bytes presentation/img/qr/repo.png | Bin 0 -> 731 bytes presentation/index.html | 131 + presentation/js/reveal.js | 4276 +++++++++++++++++ presentation/plugin/highlight/highlight.js | 30 + presentation/plugin/leap/leap.js | 159 + presentation/plugin/markdown/example.html | 129 + presentation/plugin/markdown/example.md | 31 + presentation/plugin/markdown/markdown.js | 393 ++ presentation/plugin/markdown/marked.js | 37 + presentation/plugin/math/math.js | 64 + presentation/plugin/multiplex/client.js | 13 + presentation/plugin/multiplex/index.js | 56 + presentation/plugin/multiplex/master.js | 51 + presentation/plugin/notes-server/client.js | 60 + presentation/plugin/notes-server/index.js | 66 + presentation/plugin/notes-server/notes.html | 396 ++ presentation/plugin/notes/notes.html | 406 ++ presentation/plugin/notes/notes.js | 122 + presentation/plugin/print-pdf/print-pdf.js | 48 + presentation/plugin/remotes/remotes.js | 39 + presentation/plugin/search/search.js | 196 + presentation/plugin/zoom-js/zoom.js | 278 ++ 96 files changed, 18897 insertions(+) create mode 100644 presentation/README.md create mode 100644 presentation/contrib/font-awesome-4.3.0/css/font-awesome.css create mode 100644 presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/FontAwesome.otf create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff create mode 100644 presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 create mode 100644 presentation/contrib/font-awesome-4.3.0/less/animated.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/bordered-pulled.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/core.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/fixed-width.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/font-awesome.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/icons.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/larger.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/list.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/mixins.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/path.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/stacked.less create mode 100644 presentation/contrib/font-awesome-4.3.0/less/variables.less create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_animated.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_core.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_icons.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_larger.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_list.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_path.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/_variables.scss create mode 100644 presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss create mode 100644 presentation/contrib/google/css/lato.css create mode 100644 presentation/contrib/google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf create mode 100644 presentation/contrib/google/fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf create mode 100644 presentation/contrib/google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf create mode 100644 presentation/contrib/google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf create mode 100644 presentation/css/print/paper.css create mode 100644 presentation/css/print/pdf.css create mode 100644 presentation/css/reveal.css create mode 100644 presentation/css/reveal.scss create mode 100644 presentation/css/theme/README.md create mode 100644 presentation/css/theme/beige.css create mode 100644 presentation/css/theme/black.css create mode 100644 presentation/css/theme/blood.css create mode 100644 presentation/css/theme/league.css create mode 100644 presentation/css/theme/moon.css create mode 100644 presentation/css/theme/night.css create mode 100644 presentation/css/theme/serif.css create mode 100644 presentation/css/theme/simple.css create mode 100644 presentation/css/theme/sky.css create mode 100644 presentation/css/theme/solarized.css create mode 100644 presentation/css/theme/source/beige.scss create mode 100644 presentation/css/theme/source/black.scss create mode 100644 presentation/css/theme/source/blood.scss create mode 100644 presentation/css/theme/source/league.scss create mode 100644 presentation/css/theme/source/moon.scss create mode 100644 presentation/css/theme/source/night.scss create mode 100644 presentation/css/theme/source/serif.scss create mode 100644 presentation/css/theme/source/simple.scss create mode 100644 presentation/css/theme/source/sky.scss create mode 100644 presentation/css/theme/source/solarized.scss create mode 100644 presentation/css/theme/source/white.scss create mode 100644 presentation/css/theme/template/mixins.scss create mode 100644 presentation/css/theme/template/settings.scss create mode 100644 presentation/css/theme/template/theme.scss create mode 100644 presentation/css/theme/white.css create mode 100644 presentation/img/alot.png create mode 100644 presentation/img/php.png create mode 100644 presentation/img/pony.png create mode 100644 presentation/img/python.png create mode 100644 presentation/img/qr/repo.png create mode 100644 presentation/index.html create mode 100644 presentation/js/reveal.js create mode 100644 presentation/plugin/highlight/highlight.js create mode 100644 presentation/plugin/leap/leap.js create mode 100644 presentation/plugin/markdown/example.html create mode 100644 presentation/plugin/markdown/example.md create mode 100755 presentation/plugin/markdown/markdown.js create mode 100644 presentation/plugin/markdown/marked.js create mode 100755 presentation/plugin/math/math.js create mode 100644 presentation/plugin/multiplex/client.js create mode 100644 presentation/plugin/multiplex/index.js create mode 100644 presentation/plugin/multiplex/master.js create mode 100644 presentation/plugin/notes-server/client.js create mode 100644 presentation/plugin/notes-server/index.js create mode 100644 presentation/plugin/notes-server/notes.html create mode 100644 presentation/plugin/notes/notes.html create mode 100644 presentation/plugin/notes/notes.js create mode 100644 presentation/plugin/print-pdf/print-pdf.js create mode 100644 presentation/plugin/remotes/remotes.js create mode 100644 presentation/plugin/search/search.js create mode 100644 presentation/plugin/zoom-js/zoom.js diff --git a/presentation/README.md b/presentation/README.md new file mode 100644 index 000000000..01820980e --- /dev/null +++ b/presentation/README.md @@ -0,0 +1,6 @@ +# Presentation + +This presentation was written with +[reaveal.js](http://lab.hakim.se/reveal-js/), and requires no special +software to view. Simply open `index.html` in a browser and you're good +to go. diff --git a/presentation/contrib/font-awesome-4.3.0/css/font-awesome.css b/presentation/contrib/font-awesome-4.3.0/css/font-awesome.css new file mode 100644 index 000000000..2dcdc2207 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/css/font-awesome.css @@ -0,0 +1,1801 @@ +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ +/* FONT PATH + * -------------------------- */ +@font-face { + font-family: 'FontAwesome'; + src: url('../fonts/fontawesome-webfont.eot?v=4.3.0'); + src: url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'), url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'), url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'), url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'), url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg'); + font-weight: normal; + font-style: normal; +} +.fa { + display: inline-block; + font: normal normal normal 14px/1 FontAwesome; + font-size: inherit; + text-rendering: auto; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); +} +/* makes the font 33% larger relative to the icon container */ +.fa-lg { + font-size: 1.33333333em; + line-height: 0.75em; + vertical-align: -15%; +} +.fa-2x { + font-size: 2em; +} +.fa-3x { + font-size: 3em; +} +.fa-4x { + font-size: 4em; +} +.fa-5x { + font-size: 5em; +} +.fa-fw { + width: 1.28571429em; + text-align: center; +} +.fa-ul { + padding-left: 0; + margin-left: 2.14285714em; + list-style-type: none; +} +.fa-ul > li { + position: relative; +} +.fa-li { + position: absolute; + left: -2.14285714em; + width: 2.14285714em; + top: 0.14285714em; + text-align: center; +} +.fa-li.fa-lg { + left: -1.85714286em; +} +.fa-border { + padding: .2em .25em .15em; + border: solid 0.08em #eeeeee; + border-radius: .1em; +} +.pull-right { + float: right; +} +.pull-left { + float: left; +} +.fa.pull-left { + margin-right: .3em; +} +.fa.pull-right { + margin-left: .3em; +} +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} +.fa-rotate-90 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=1); + -webkit-transform: rotate(90deg); + -ms-transform: rotate(90deg); + transform: rotate(90deg); +} +.fa-rotate-180 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2); + -webkit-transform: rotate(180deg); + -ms-transform: rotate(180deg); + transform: rotate(180deg); +} +.fa-rotate-270 { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=3); + -webkit-transform: rotate(270deg); + -ms-transform: rotate(270deg); + transform: rotate(270deg); +} +.fa-flip-horizontal { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1); + -webkit-transform: scale(-1, 1); + -ms-transform: scale(-1, 1); + transform: scale(-1, 1); +} +.fa-flip-vertical { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1); + -webkit-transform: scale(1, -1); + -ms-transform: scale(1, -1); + transform: scale(1, -1); +} +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical { + filter: none; +} +.fa-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.fa-stack-1x, +.fa-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.fa-stack-1x { + line-height: inherit; +} +.fa-stack-2x { + font-size: 2em; +} +.fa-inverse { + color: #ffffff; +} +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ +.fa-glass:before { + content: "\f000"; +} +.fa-music:before { + content: "\f001"; +} +.fa-search:before { + content: "\f002"; +} +.fa-envelope-o:before { + content: "\f003"; +} +.fa-heart:before { + content: "\f004"; +} +.fa-star:before { + content: "\f005"; +} +.fa-star-o:before { + content: "\f006"; +} +.fa-user:before { + content: "\f007"; +} +.fa-film:before { + content: "\f008"; +} +.fa-th-large:before { + content: "\f009"; +} +.fa-th:before { + content: "\f00a"; +} +.fa-th-list:before { + content: "\f00b"; +} +.fa-check:before { + content: "\f00c"; +} +.fa-remove:before, +.fa-close:before, +.fa-times:before { + content: "\f00d"; +} +.fa-search-plus:before { + content: "\f00e"; +} +.fa-search-minus:before { + content: "\f010"; +} +.fa-power-off:before { + content: "\f011"; +} +.fa-signal:before { + content: "\f012"; +} +.fa-gear:before, +.fa-cog:before { + content: "\f013"; +} +.fa-trash-o:before { + content: "\f014"; +} +.fa-home:before { + content: "\f015"; +} +.fa-file-o:before { + content: "\f016"; +} +.fa-clock-o:before { + content: "\f017"; +} +.fa-road:before { + content: "\f018"; +} +.fa-download:before { + content: "\f019"; +} +.fa-arrow-circle-o-down:before { + content: "\f01a"; +} +.fa-arrow-circle-o-up:before { + content: "\f01b"; +} +.fa-inbox:before { + content: "\f01c"; +} +.fa-play-circle-o:before { + content: "\f01d"; +} +.fa-rotate-right:before, +.fa-repeat:before { + content: "\f01e"; +} +.fa-refresh:before { + content: "\f021"; +} +.fa-list-alt:before { + content: "\f022"; +} +.fa-lock:before { + content: "\f023"; +} +.fa-flag:before { + content: "\f024"; +} +.fa-headphones:before { + content: "\f025"; +} +.fa-volume-off:before { + content: "\f026"; +} +.fa-volume-down:before { + content: "\f027"; +} +.fa-volume-up:before { + content: "\f028"; +} +.fa-qrcode:before { + content: "\f029"; +} +.fa-barcode:before { + content: "\f02a"; +} +.fa-tag:before { + content: "\f02b"; +} +.fa-tags:before { + content: "\f02c"; +} +.fa-book:before { + content: "\f02d"; +} +.fa-bookmark:before { + content: "\f02e"; +} +.fa-print:before { + content: "\f02f"; +} +.fa-camera:before { + content: "\f030"; +} +.fa-font:before { + content: "\f031"; +} +.fa-bold:before { + content: "\f032"; +} +.fa-italic:before { + content: "\f033"; +} +.fa-text-height:before { + content: "\f034"; +} +.fa-text-width:before { + content: "\f035"; +} +.fa-align-left:before { + content: "\f036"; +} +.fa-align-center:before { + content: "\f037"; +} +.fa-align-right:before { + content: "\f038"; +} +.fa-align-justify:before { + content: "\f039"; +} +.fa-list:before { + content: "\f03a"; +} +.fa-dedent:before, +.fa-outdent:before { + content: "\f03b"; +} +.fa-indent:before { + content: "\f03c"; +} +.fa-video-camera:before { + content: "\f03d"; +} +.fa-photo:before, +.fa-image:before, +.fa-picture-o:before { + content: "\f03e"; +} +.fa-pencil:before { + content: "\f040"; +} +.fa-map-marker:before { + content: "\f041"; +} +.fa-adjust:before { + content: "\f042"; +} +.fa-tint:before { + content: "\f043"; +} +.fa-edit:before, +.fa-pencil-square-o:before { + content: "\f044"; +} +.fa-share-square-o:before { + content: "\f045"; +} +.fa-check-square-o:before { + content: "\f046"; +} +.fa-arrows:before { + content: "\f047"; +} +.fa-step-backward:before { + content: "\f048"; +} +.fa-fast-backward:before { + content: "\f049"; +} +.fa-backward:before { + content: "\f04a"; +} +.fa-play:before { + content: "\f04b"; +} +.fa-pause:before { + content: "\f04c"; +} +.fa-stop:before { + content: "\f04d"; +} +.fa-forward:before { + content: "\f04e"; +} +.fa-fast-forward:before { + content: "\f050"; +} +.fa-step-forward:before { + content: "\f051"; +} +.fa-eject:before { + content: "\f052"; +} +.fa-chevron-left:before { + content: "\f053"; +} +.fa-chevron-right:before { + content: "\f054"; +} +.fa-plus-circle:before { + content: "\f055"; +} +.fa-minus-circle:before { + content: "\f056"; +} +.fa-times-circle:before { + content: "\f057"; +} +.fa-check-circle:before { + content: "\f058"; +} +.fa-question-circle:before { + content: "\f059"; +} +.fa-info-circle:before { + content: "\f05a"; +} +.fa-crosshairs:before { + content: "\f05b"; +} +.fa-times-circle-o:before { + content: "\f05c"; +} +.fa-check-circle-o:before { + content: "\f05d"; +} +.fa-ban:before { + content: "\f05e"; +} +.fa-arrow-left:before { + content: "\f060"; +} +.fa-arrow-right:before { + content: "\f061"; +} +.fa-arrow-up:before { + content: "\f062"; +} +.fa-arrow-down:before { + content: "\f063"; +} +.fa-mail-forward:before, +.fa-share:before { + content: "\f064"; +} +.fa-expand:before { + content: "\f065"; +} +.fa-compress:before { + content: "\f066"; +} +.fa-plus:before { + content: "\f067"; +} +.fa-minus:before { + content: "\f068"; +} +.fa-asterisk:before { + content: "\f069"; +} +.fa-exclamation-circle:before { + content: "\f06a"; +} +.fa-gift:before { + content: "\f06b"; +} +.fa-leaf:before { + content: "\f06c"; +} +.fa-fire:before { + content: "\f06d"; +} +.fa-eye:before { + content: "\f06e"; +} +.fa-eye-slash:before { + content: "\f070"; +} +.fa-warning:before, +.fa-exclamation-triangle:before { + content: "\f071"; +} +.fa-plane:before { + content: "\f072"; +} +.fa-calendar:before { + content: "\f073"; +} +.fa-random:before { + content: "\f074"; +} +.fa-comment:before { + content: "\f075"; +} +.fa-magnet:before { + content: "\f076"; +} +.fa-chevron-up:before { + content: "\f077"; +} +.fa-chevron-down:before { + content: "\f078"; +} +.fa-retweet:before { + content: "\f079"; +} +.fa-shopping-cart:before { + content: "\f07a"; +} +.fa-folder:before { + content: "\f07b"; +} +.fa-folder-open:before { + content: "\f07c"; +} +.fa-arrows-v:before { + content: "\f07d"; +} +.fa-arrows-h:before { + content: "\f07e"; +} +.fa-bar-chart-o:before, +.fa-bar-chart:before { + content: "\f080"; +} +.fa-twitter-square:before { + content: "\f081"; +} +.fa-facebook-square:before { + content: "\f082"; +} +.fa-camera-retro:before { + content: "\f083"; +} +.fa-key:before { + content: "\f084"; +} +.fa-gears:before, +.fa-cogs:before { + content: "\f085"; +} +.fa-comments:before { + content: "\f086"; +} +.fa-thumbs-o-up:before { + content: "\f087"; +} +.fa-thumbs-o-down:before { + content: "\f088"; +} +.fa-star-half:before { + content: "\f089"; +} +.fa-heart-o:before { + content: "\f08a"; +} +.fa-sign-out:before { + content: "\f08b"; +} +.fa-linkedin-square:before { + content: "\f08c"; +} +.fa-thumb-tack:before { + content: "\f08d"; +} +.fa-external-link:before { + content: "\f08e"; +} +.fa-sign-in:before { + content: "\f090"; +} +.fa-trophy:before { + content: "\f091"; +} +.fa-github-square:before { + content: "\f092"; +} +.fa-upload:before { + content: "\f093"; +} +.fa-lemon-o:before { + content: "\f094"; +} +.fa-phone:before { + content: "\f095"; +} +.fa-square-o:before { + content: "\f096"; +} +.fa-bookmark-o:before { + content: "\f097"; +} +.fa-phone-square:before { + content: "\f098"; +} +.fa-twitter:before { + content: "\f099"; +} +.fa-facebook-f:before, +.fa-facebook:before { + content: "\f09a"; +} +.fa-github:before { + content: "\f09b"; +} +.fa-unlock:before { + content: "\f09c"; +} +.fa-credit-card:before { + content: "\f09d"; +} +.fa-rss:before { + content: "\f09e"; +} +.fa-hdd-o:before { + content: "\f0a0"; +} +.fa-bullhorn:before { + content: "\f0a1"; +} +.fa-bell:before { + content: "\f0f3"; +} +.fa-certificate:before { + content: "\f0a3"; +} +.fa-hand-o-right:before { + content: "\f0a4"; +} +.fa-hand-o-left:before { + content: "\f0a5"; +} +.fa-hand-o-up:before { + content: "\f0a6"; +} +.fa-hand-o-down:before { + content: "\f0a7"; +} +.fa-arrow-circle-left:before { + content: "\f0a8"; +} +.fa-arrow-circle-right:before { + content: "\f0a9"; +} +.fa-arrow-circle-up:before { + content: "\f0aa"; +} +.fa-arrow-circle-down:before { + content: "\f0ab"; +} +.fa-globe:before { + content: "\f0ac"; +} +.fa-wrench:before { + content: "\f0ad"; +} +.fa-tasks:before { + content: "\f0ae"; +} +.fa-filter:before { + content: "\f0b0"; +} +.fa-briefcase:before { + content: "\f0b1"; +} +.fa-arrows-alt:before { + content: "\f0b2"; +} +.fa-group:before, +.fa-users:before { + content: "\f0c0"; +} +.fa-chain:before, +.fa-link:before { + content: "\f0c1"; +} +.fa-cloud:before { + content: "\f0c2"; +} +.fa-flask:before { + content: "\f0c3"; +} +.fa-cut:before, +.fa-scissors:before { + content: "\f0c4"; +} +.fa-copy:before, +.fa-files-o:before { + content: "\f0c5"; +} +.fa-paperclip:before { + content: "\f0c6"; +} +.fa-save:before, +.fa-floppy-o:before { + content: "\f0c7"; +} +.fa-square:before { + content: "\f0c8"; +} +.fa-navicon:before, +.fa-reorder:before, +.fa-bars:before { + content: "\f0c9"; +} +.fa-list-ul:before { + content: "\f0ca"; +} +.fa-list-ol:before { + content: "\f0cb"; +} +.fa-strikethrough:before { + content: "\f0cc"; +} +.fa-underline:before { + content: "\f0cd"; +} +.fa-table:before { + content: "\f0ce"; +} +.fa-magic:before { + content: "\f0d0"; +} +.fa-truck:before { + content: "\f0d1"; +} +.fa-pinterest:before { + content: "\f0d2"; +} +.fa-pinterest-square:before { + content: "\f0d3"; +} +.fa-google-plus-square:before { + content: "\f0d4"; +} +.fa-google-plus:before { + content: "\f0d5"; +} +.fa-money:before { + content: "\f0d6"; +} +.fa-caret-down:before { + content: "\f0d7"; +} +.fa-caret-up:before { + content: "\f0d8"; +} +.fa-caret-left:before { + content: "\f0d9"; +} +.fa-caret-right:before { + content: "\f0da"; +} +.fa-columns:before { + content: "\f0db"; +} +.fa-unsorted:before, +.fa-sort:before { + content: "\f0dc"; +} +.fa-sort-down:before, +.fa-sort-desc:before { + content: "\f0dd"; +} +.fa-sort-up:before, +.fa-sort-asc:before { + content: "\f0de"; +} +.fa-envelope:before { + content: "\f0e0"; +} +.fa-linkedin:before { + content: "\f0e1"; +} +.fa-rotate-left:before, +.fa-undo:before { + content: "\f0e2"; +} +.fa-legal:before, +.fa-gavel:before { + content: "\f0e3"; +} +.fa-dashboard:before, +.fa-tachometer:before { + content: "\f0e4"; +} +.fa-comment-o:before { + content: "\f0e5"; +} +.fa-comments-o:before { + content: "\f0e6"; +} +.fa-flash:before, +.fa-bolt:before { + content: "\f0e7"; +} +.fa-sitemap:before { + content: "\f0e8"; +} +.fa-umbrella:before { + content: "\f0e9"; +} +.fa-paste:before, +.fa-clipboard:before { + content: "\f0ea"; +} +.fa-lightbulb-o:before { + content: "\f0eb"; +} +.fa-exchange:before { + content: "\f0ec"; +} +.fa-cloud-download:before { + content: "\f0ed"; +} +.fa-cloud-upload:before { + content: "\f0ee"; +} +.fa-user-md:before { + content: "\f0f0"; +} +.fa-stethoscope:before { + content: "\f0f1"; +} +.fa-suitcase:before { + content: "\f0f2"; +} +.fa-bell-o:before { + content: "\f0a2"; +} +.fa-coffee:before { + content: "\f0f4"; +} +.fa-cutlery:before { + content: "\f0f5"; +} +.fa-file-text-o:before { + content: "\f0f6"; +} +.fa-building-o:before { + content: "\f0f7"; +} +.fa-hospital-o:before { + content: "\f0f8"; +} +.fa-ambulance:before { + content: "\f0f9"; +} +.fa-medkit:before { + content: "\f0fa"; +} +.fa-fighter-jet:before { + content: "\f0fb"; +} +.fa-beer:before { + content: "\f0fc"; +} +.fa-h-square:before { + content: "\f0fd"; +} +.fa-plus-square:before { + content: "\f0fe"; +} +.fa-angle-double-left:before { + content: "\f100"; +} +.fa-angle-double-right:before { + content: "\f101"; +} +.fa-angle-double-up:before { + content: "\f102"; +} +.fa-angle-double-down:before { + content: "\f103"; +} +.fa-angle-left:before { + content: "\f104"; +} +.fa-angle-right:before { + content: "\f105"; +} +.fa-angle-up:before { + content: "\f106"; +} +.fa-angle-down:before { + content: "\f107"; +} +.fa-desktop:before { + content: "\f108"; +} +.fa-laptop:before { + content: "\f109"; +} +.fa-tablet:before { + content: "\f10a"; +} +.fa-mobile-phone:before, +.fa-mobile:before { + content: "\f10b"; +} +.fa-circle-o:before { + content: "\f10c"; +} +.fa-quote-left:before { + content: "\f10d"; +} +.fa-quote-right:before { + content: "\f10e"; +} +.fa-spinner:before { + content: "\f110"; +} +.fa-circle:before { + content: "\f111"; +} +.fa-mail-reply:before, +.fa-reply:before { + content: "\f112"; +} +.fa-github-alt:before { + content: "\f113"; +} +.fa-folder-o:before { + content: "\f114"; +} +.fa-folder-open-o:before { + content: "\f115"; +} +.fa-smile-o:before { + content: "\f118"; +} +.fa-frown-o:before { + content: "\f119"; +} +.fa-meh-o:before { + content: "\f11a"; +} +.fa-gamepad:before { + content: "\f11b"; +} +.fa-keyboard-o:before { + content: "\f11c"; +} +.fa-flag-o:before { + content: "\f11d"; +} +.fa-flag-checkered:before { + content: "\f11e"; +} +.fa-terminal:before { + content: "\f120"; +} +.fa-code:before { + content: "\f121"; +} +.fa-mail-reply-all:before, +.fa-reply-all:before { + content: "\f122"; +} +.fa-star-half-empty:before, +.fa-star-half-full:before, +.fa-star-half-o:before { + content: "\f123"; +} +.fa-location-arrow:before { + content: "\f124"; +} +.fa-crop:before { + content: "\f125"; +} +.fa-code-fork:before { + content: "\f126"; +} +.fa-unlink:before, +.fa-chain-broken:before { + content: "\f127"; +} +.fa-question:before { + content: "\f128"; +} +.fa-info:before { + content: "\f129"; +} +.fa-exclamation:before { + content: "\f12a"; +} +.fa-superscript:before { + content: "\f12b"; +} +.fa-subscript:before { + content: "\f12c"; +} +.fa-eraser:before { + content: "\f12d"; +} +.fa-puzzle-piece:before { + content: "\f12e"; +} +.fa-microphone:before { + content: "\f130"; +} +.fa-microphone-slash:before { + content: "\f131"; +} +.fa-shield:before { + content: "\f132"; +} +.fa-calendar-o:before { + content: "\f133"; +} +.fa-fire-extinguisher:before { + content: "\f134"; +} +.fa-rocket:before { + content: "\f135"; +} +.fa-maxcdn:before { + content: "\f136"; +} +.fa-chevron-circle-left:before { + content: "\f137"; +} +.fa-chevron-circle-right:before { + content: "\f138"; +} +.fa-chevron-circle-up:before { + content: "\f139"; +} +.fa-chevron-circle-down:before { + content: "\f13a"; +} +.fa-html5:before { + content: "\f13b"; +} +.fa-css3:before { + content: "\f13c"; +} +.fa-anchor:before { + content: "\f13d"; +} +.fa-unlock-alt:before { + content: "\f13e"; +} +.fa-bullseye:before { + content: "\f140"; +} +.fa-ellipsis-h:before { + content: "\f141"; +} +.fa-ellipsis-v:before { + content: "\f142"; +} +.fa-rss-square:before { + content: "\f143"; +} +.fa-play-circle:before { + content: "\f144"; +} +.fa-ticket:before { + content: "\f145"; +} +.fa-minus-square:before { + content: "\f146"; +} +.fa-minus-square-o:before { + content: "\f147"; +} +.fa-level-up:before { + content: "\f148"; +} +.fa-level-down:before { + content: "\f149"; +} +.fa-check-square:before { + content: "\f14a"; +} +.fa-pencil-square:before { + content: "\f14b"; +} +.fa-external-link-square:before { + content: "\f14c"; +} +.fa-share-square:before { + content: "\f14d"; +} +.fa-compass:before { + content: "\f14e"; +} +.fa-toggle-down:before, +.fa-caret-square-o-down:before { + content: "\f150"; +} +.fa-toggle-up:before, +.fa-caret-square-o-up:before { + content: "\f151"; +} +.fa-toggle-right:before, +.fa-caret-square-o-right:before { + content: "\f152"; +} +.fa-euro:before, +.fa-eur:before { + content: "\f153"; +} +.fa-gbp:before { + content: "\f154"; +} +.fa-dollar:before, +.fa-usd:before { + content: "\f155"; +} +.fa-rupee:before, +.fa-inr:before { + content: "\f156"; +} +.fa-cny:before, +.fa-rmb:before, +.fa-yen:before, +.fa-jpy:before { + content: "\f157"; +} +.fa-ruble:before, +.fa-rouble:before, +.fa-rub:before { + content: "\f158"; +} +.fa-won:before, +.fa-krw:before { + content: "\f159"; +} +.fa-bitcoin:before, +.fa-btc:before { + content: "\f15a"; +} +.fa-file:before { + content: "\f15b"; +} +.fa-file-text:before { + content: "\f15c"; +} +.fa-sort-alpha-asc:before { + content: "\f15d"; +} +.fa-sort-alpha-desc:before { + content: "\f15e"; +} +.fa-sort-amount-asc:before { + content: "\f160"; +} +.fa-sort-amount-desc:before { + content: "\f161"; +} +.fa-sort-numeric-asc:before { + content: "\f162"; +} +.fa-sort-numeric-desc:before { + content: "\f163"; +} +.fa-thumbs-up:before { + content: "\f164"; +} +.fa-thumbs-down:before { + content: "\f165"; +} +.fa-youtube-square:before { + content: "\f166"; +} +.fa-youtube:before { + content: "\f167"; +} +.fa-xing:before { + content: "\f168"; +} +.fa-xing-square:before { + content: "\f169"; +} +.fa-youtube-play:before { + content: "\f16a"; +} +.fa-dropbox:before { + content: "\f16b"; +} +.fa-stack-overflow:before { + content: "\f16c"; +} +.fa-instagram:before { + content: "\f16d"; +} +.fa-flickr:before { + content: "\f16e"; +} +.fa-adn:before { + content: "\f170"; +} +.fa-bitbucket:before { + content: "\f171"; +} +.fa-bitbucket-square:before { + content: "\f172"; +} +.fa-tumblr:before { + content: "\f173"; +} +.fa-tumblr-square:before { + content: "\f174"; +} +.fa-long-arrow-down:before { + content: "\f175"; +} +.fa-long-arrow-up:before { + content: "\f176"; +} +.fa-long-arrow-left:before { + content: "\f177"; +} +.fa-long-arrow-right:before { + content: "\f178"; +} +.fa-apple:before { + content: "\f179"; +} +.fa-windows:before { + content: "\f17a"; +} +.fa-android:before { + content: "\f17b"; +} +.fa-linux:before { + content: "\f17c"; +} +.fa-dribbble:before { + content: "\f17d"; +} +.fa-skype:before { + content: "\f17e"; +} +.fa-foursquare:before { + content: "\f180"; +} +.fa-trello:before { + content: "\f181"; +} +.fa-female:before { + content: "\f182"; +} +.fa-male:before { + content: "\f183"; +} +.fa-gittip:before, +.fa-gratipay:before { + content: "\f184"; +} +.fa-sun-o:before { + content: "\f185"; +} +.fa-moon-o:before { + content: "\f186"; +} +.fa-archive:before { + content: "\f187"; +} +.fa-bug:before { + content: "\f188"; +} +.fa-vk:before { + content: "\f189"; +} +.fa-weibo:before { + content: "\f18a"; +} +.fa-renren:before { + content: "\f18b"; +} +.fa-pagelines:before { + content: "\f18c"; +} +.fa-stack-exchange:before { + content: "\f18d"; +} +.fa-arrow-circle-o-right:before { + content: "\f18e"; +} +.fa-arrow-circle-o-left:before { + content: "\f190"; +} +.fa-toggle-left:before, +.fa-caret-square-o-left:before { + content: "\f191"; +} +.fa-dot-circle-o:before { + content: "\f192"; +} +.fa-wheelchair:before { + content: "\f193"; +} +.fa-vimeo-square:before { + content: "\f194"; +} +.fa-turkish-lira:before, +.fa-try:before { + content: "\f195"; +} +.fa-plus-square-o:before { + content: "\f196"; +} +.fa-space-shuttle:before { + content: "\f197"; +} +.fa-slack:before { + content: "\f198"; +} +.fa-envelope-square:before { + content: "\f199"; +} +.fa-wordpress:before { + content: "\f19a"; +} +.fa-openid:before { + content: "\f19b"; +} +.fa-institution:before, +.fa-bank:before, +.fa-university:before { + content: "\f19c"; +} +.fa-mortar-board:before, +.fa-graduation-cap:before { + content: "\f19d"; +} +.fa-yahoo:before { + content: "\f19e"; +} +.fa-google:before { + content: "\f1a0"; +} +.fa-reddit:before { + content: "\f1a1"; +} +.fa-reddit-square:before { + content: "\f1a2"; +} +.fa-stumbleupon-circle:before { + content: "\f1a3"; +} +.fa-stumbleupon:before { + content: "\f1a4"; +} +.fa-delicious:before { + content: "\f1a5"; +} +.fa-digg:before { + content: "\f1a6"; +} +.fa-pied-piper:before { + content: "\f1a7"; +} +.fa-pied-piper-alt:before { + content: "\f1a8"; +} +.fa-drupal:before { + content: "\f1a9"; +} +.fa-joomla:before { + content: "\f1aa"; +} +.fa-language:before { + content: "\f1ab"; +} +.fa-fax:before { + content: "\f1ac"; +} +.fa-building:before { + content: "\f1ad"; +} +.fa-child:before { + content: "\f1ae"; +} +.fa-paw:before { + content: "\f1b0"; +} +.fa-spoon:before { + content: "\f1b1"; +} +.fa-cube:before { + content: "\f1b2"; +} +.fa-cubes:before { + content: "\f1b3"; +} +.fa-behance:before { + content: "\f1b4"; +} +.fa-behance-square:before { + content: "\f1b5"; +} +.fa-steam:before { + content: "\f1b6"; +} +.fa-steam-square:before { + content: "\f1b7"; +} +.fa-recycle:before { + content: "\f1b8"; +} +.fa-automobile:before, +.fa-car:before { + content: "\f1b9"; +} +.fa-cab:before, +.fa-taxi:before { + content: "\f1ba"; +} +.fa-tree:before { + content: "\f1bb"; +} +.fa-spotify:before { + content: "\f1bc"; +} +.fa-deviantart:before { + content: "\f1bd"; +} +.fa-soundcloud:before { + content: "\f1be"; +} +.fa-database:before { + content: "\f1c0"; +} +.fa-file-pdf-o:before { + content: "\f1c1"; +} +.fa-file-word-o:before { + content: "\f1c2"; +} +.fa-file-excel-o:before { + content: "\f1c3"; +} +.fa-file-powerpoint-o:before { + content: "\f1c4"; +} +.fa-file-photo-o:before, +.fa-file-picture-o:before, +.fa-file-image-o:before { + content: "\f1c5"; +} +.fa-file-zip-o:before, +.fa-file-archive-o:before { + content: "\f1c6"; +} +.fa-file-sound-o:before, +.fa-file-audio-o:before { + content: "\f1c7"; +} +.fa-file-movie-o:before, +.fa-file-video-o:before { + content: "\f1c8"; +} +.fa-file-code-o:before { + content: "\f1c9"; +} +.fa-vine:before { + content: "\f1ca"; +} +.fa-codepen:before { + content: "\f1cb"; +} +.fa-jsfiddle:before { + content: "\f1cc"; +} +.fa-life-bouy:before, +.fa-life-buoy:before, +.fa-life-saver:before, +.fa-support:before, +.fa-life-ring:before { + content: "\f1cd"; +} +.fa-circle-o-notch:before { + content: "\f1ce"; +} +.fa-ra:before, +.fa-rebel:before { + content: "\f1d0"; +} +.fa-ge:before, +.fa-empire:before { + content: "\f1d1"; +} +.fa-git-square:before { + content: "\f1d2"; +} +.fa-git:before { + content: "\f1d3"; +} +.fa-hacker-news:before { + content: "\f1d4"; +} +.fa-tencent-weibo:before { + content: "\f1d5"; +} +.fa-qq:before { + content: "\f1d6"; +} +.fa-wechat:before, +.fa-weixin:before { + content: "\f1d7"; +} +.fa-send:before, +.fa-paper-plane:before { + content: "\f1d8"; +} +.fa-send-o:before, +.fa-paper-plane-o:before { + content: "\f1d9"; +} +.fa-history:before { + content: "\f1da"; +} +.fa-genderless:before, +.fa-circle-thin:before { + content: "\f1db"; +} +.fa-header:before { + content: "\f1dc"; +} +.fa-paragraph:before { + content: "\f1dd"; +} +.fa-sliders:before { + content: "\f1de"; +} +.fa-share-alt:before { + content: "\f1e0"; +} +.fa-share-alt-square:before { + content: "\f1e1"; +} +.fa-bomb:before { + content: "\f1e2"; +} +.fa-soccer-ball-o:before, +.fa-futbol-o:before { + content: "\f1e3"; +} +.fa-tty:before { + content: "\f1e4"; +} +.fa-binoculars:before { + content: "\f1e5"; +} +.fa-plug:before { + content: "\f1e6"; +} +.fa-slideshare:before { + content: "\f1e7"; +} +.fa-twitch:before { + content: "\f1e8"; +} +.fa-yelp:before { + content: "\f1e9"; +} +.fa-newspaper-o:before { + content: "\f1ea"; +} +.fa-wifi:before { + content: "\f1eb"; +} +.fa-calculator:before { + content: "\f1ec"; +} +.fa-paypal:before { + content: "\f1ed"; +} +.fa-google-wallet:before { + content: "\f1ee"; +} +.fa-cc-visa:before { + content: "\f1f0"; +} +.fa-cc-mastercard:before { + content: "\f1f1"; +} +.fa-cc-discover:before { + content: "\f1f2"; +} +.fa-cc-amex:before { + content: "\f1f3"; +} +.fa-cc-paypal:before { + content: "\f1f4"; +} +.fa-cc-stripe:before { + content: "\f1f5"; +} +.fa-bell-slash:before { + content: "\f1f6"; +} +.fa-bell-slash-o:before { + content: "\f1f7"; +} +.fa-trash:before { + content: "\f1f8"; +} +.fa-copyright:before { + content: "\f1f9"; +} +.fa-at:before { + content: "\f1fa"; +} +.fa-eyedropper:before { + content: "\f1fb"; +} +.fa-paint-brush:before { + content: "\f1fc"; +} +.fa-birthday-cake:before { + content: "\f1fd"; +} +.fa-area-chart:before { + content: "\f1fe"; +} +.fa-pie-chart:before { + content: "\f200"; +} +.fa-line-chart:before { + content: "\f201"; +} +.fa-lastfm:before { + content: "\f202"; +} +.fa-lastfm-square:before { + content: "\f203"; +} +.fa-toggle-off:before { + content: "\f204"; +} +.fa-toggle-on:before { + content: "\f205"; +} +.fa-bicycle:before { + content: "\f206"; +} +.fa-bus:before { + content: "\f207"; +} +.fa-ioxhost:before { + content: "\f208"; +} +.fa-angellist:before { + content: "\f209"; +} +.fa-cc:before { + content: "\f20a"; +} +.fa-shekel:before, +.fa-sheqel:before, +.fa-ils:before { + content: "\f20b"; +} +.fa-meanpath:before { + content: "\f20c"; +} +.fa-buysellads:before { + content: "\f20d"; +} +.fa-connectdevelop:before { + content: "\f20e"; +} +.fa-dashcube:before { + content: "\f210"; +} +.fa-forumbee:before { + content: "\f211"; +} +.fa-leanpub:before { + content: "\f212"; +} +.fa-sellsy:before { + content: "\f213"; +} +.fa-shirtsinbulk:before { + content: "\f214"; +} +.fa-simplybuilt:before { + content: "\f215"; +} +.fa-skyatlas:before { + content: "\f216"; +} +.fa-cart-plus:before { + content: "\f217"; +} +.fa-cart-arrow-down:before { + content: "\f218"; +} +.fa-diamond:before { + content: "\f219"; +} +.fa-ship:before { + content: "\f21a"; +} +.fa-user-secret:before { + content: "\f21b"; +} +.fa-motorcycle:before { + content: "\f21c"; +} +.fa-street-view:before { + content: "\f21d"; +} +.fa-heartbeat:before { + content: "\f21e"; +} +.fa-venus:before { + content: "\f221"; +} +.fa-mars:before { + content: "\f222"; +} +.fa-mercury:before { + content: "\f223"; +} +.fa-transgender:before { + content: "\f224"; +} +.fa-transgender-alt:before { + content: "\f225"; +} +.fa-venus-double:before { + content: "\f226"; +} +.fa-mars-double:before { + content: "\f227"; +} +.fa-venus-mars:before { + content: "\f228"; +} +.fa-mars-stroke:before { + content: "\f229"; +} +.fa-mars-stroke-v:before { + content: "\f22a"; +} +.fa-mars-stroke-h:before { + content: "\f22b"; +} +.fa-neuter:before { + content: "\f22c"; +} +.fa-facebook-official:before { + content: "\f230"; +} +.fa-pinterest-p:before { + content: "\f231"; +} +.fa-whatsapp:before { + content: "\f232"; +} +.fa-server:before { + content: "\f233"; +} +.fa-user-plus:before { + content: "\f234"; +} +.fa-user-times:before { + content: "\f235"; +} +.fa-hotel:before, +.fa-bed:before { + content: "\f236"; +} +.fa-viacoin:before { + content: "\f237"; +} +.fa-train:before { + content: "\f238"; +} +.fa-subway:before { + content: "\f239"; +} +.fa-medium:before { + content: "\f23a"; +} diff --git a/presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css b/presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css new file mode 100644 index 000000000..24fcc04c4 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css @@ -0,0 +1,4 @@ +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */@font-face{font-family:'FontAwesome';src:url('../fonts/fontawesome-webfont.eot?v=4.3.0');src:url('../fonts/fontawesome-webfont.eot?#iefix&v=4.3.0') format('embedded-opentype'),url('../fonts/fontawesome-webfont.woff2?v=4.3.0') format('woff2'),url('../fonts/fontawesome-webfont.woff?v=4.3.0') format('woff'),url('../fonts/fontawesome-webfont.ttf?v=4.3.0') format('truetype'),url('../fonts/fontawesome-webfont.svg?v=4.3.0#fontawesomeregular') format('svg');font-weight:normal;font-style:normal}.fa{display:inline-block;font:normal normal normal 14px/1 FontAwesome;font-size:inherit;text-rendering:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;transform:translate(0, 0)}.fa-lg{font-size:1.33333333em;line-height:.75em;vertical-align:-15%}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-fw{width:1.28571429em;text-align:center}.fa-ul{padding-left:0;margin-left:2.14285714em;list-style-type:none}.fa-ul>li{position:relative}.fa-li{position:absolute;left:-2.14285714em;width:2.14285714em;top:.14285714em;text-align:center}.fa-li.fa-lg{left:-1.85714286em}.fa-border{padding:.2em .25em .15em;border:solid .08em #eee;border-radius:.1em}.pull-right{float:right}.pull-left{float:left}.fa.pull-left{margin-right:.3em}.fa.pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s infinite linear;animation:fa-spin 2s infinite linear}.fa-pulse{-webkit-animation:fa-spin 1s infinite steps(8);animation:fa-spin 1s infinite steps(8)}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}100%{-webkit-transform:rotate(359deg);transform:rotate(359deg)}}.fa-rotate-90{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=1);-webkit-transform:rotate(90deg);-ms-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2);-webkit-transform:rotate(180deg);-ms-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);-webkit-transform:rotate(270deg);-ms-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1);-webkit-transform:scale(-1, 1);-ms-transform:scale(-1, 1);transform:scale(-1, 1)}.fa-flip-vertical{filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1);-webkit-transform:scale(1, -1);-ms-transform:scale(1, -1);transform:scale(1, -1)}:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270,:root .fa-flip-horizontal,:root .fa-flip-vertical{filter:none}.fa-stack{position:relative;display:inline-block;width:2em;height:2em;line-height:2em;vertical-align:middle}.fa-stack-1x,.fa-stack-2x{position:absolute;left:0;width:100%;text-align:center}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-glass:before{content:"\f000"}.fa-music:before{content:"\f001"}.fa-search:before{content:"\f002"}.fa-envelope-o:before{content:"\f003"}.fa-heart:before{content:"\f004"}.fa-star:before{content:"\f005"}.fa-star-o:before{content:"\f006"}.fa-user:before{content:"\f007"}.fa-film:before{content:"\f008"}.fa-th-large:before{content:"\f009"}.fa-th:before{content:"\f00a"}.fa-th-list:before{content:"\f00b"}.fa-check:before{content:"\f00c"}.fa-remove:before,.fa-close:before,.fa-times:before{content:"\f00d"}.fa-search-plus:before{content:"\f00e"}.fa-search-minus:before{content:"\f010"}.fa-power-off:before{content:"\f011"}.fa-signal:before{content:"\f012"}.fa-gear:before,.fa-cog:before{content:"\f013"}.fa-trash-o:before{content:"\f014"}.fa-home:before{content:"\f015"}.fa-file-o:before{content:"\f016"}.fa-clock-o:before{content:"\f017"}.fa-road:before{content:"\f018"}.fa-download:before{content:"\f019"}.fa-arrow-circle-o-down:before{content:"\f01a"}.fa-arrow-circle-o-up:before{content:"\f01b"}.fa-inbox:before{content:"\f01c"}.fa-play-circle-o:before{content:"\f01d"}.fa-rotate-right:before,.fa-repeat:before{content:"\f01e"}.fa-refresh:before{content:"\f021"}.fa-list-alt:before{content:"\f022"}.fa-lock:before{content:"\f023"}.fa-flag:before{content:"\f024"}.fa-headphones:before{content:"\f025"}.fa-volume-off:before{content:"\f026"}.fa-volume-down:before{content:"\f027"}.fa-volume-up:before{content:"\f028"}.fa-qrcode:before{content:"\f029"}.fa-barcode:before{content:"\f02a"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-book:before{content:"\f02d"}.fa-bookmark:before{content:"\f02e"}.fa-print:before{content:"\f02f"}.fa-camera:before{content:"\f030"}.fa-font:before{content:"\f031"}.fa-bold:before{content:"\f032"}.fa-italic:before{content:"\f033"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-align-left:before{content:"\f036"}.fa-align-center:before{content:"\f037"}.fa-align-right:before{content:"\f038"}.fa-align-justify:before{content:"\f039"}.fa-list:before{content:"\f03a"}.fa-dedent:before,.fa-outdent:before{content:"\f03b"}.fa-indent:before{content:"\f03c"}.fa-video-camera:before{content:"\f03d"}.fa-photo:before,.fa-image:before,.fa-picture-o:before{content:"\f03e"}.fa-pencil:before{content:"\f040"}.fa-map-marker:before{content:"\f041"}.fa-adjust:before{content:"\f042"}.fa-tint:before{content:"\f043"}.fa-edit:before,.fa-pencil-square-o:before{content:"\f044"}.fa-share-square-o:before{content:"\f045"}.fa-check-square-o:before{content:"\f046"}.fa-arrows:before{content:"\f047"}.fa-step-backward:before{content:"\f048"}.fa-fast-backward:before{content:"\f049"}.fa-backward:before{content:"\f04a"}.fa-play:before{content:"\f04b"}.fa-pause:before{content:"\f04c"}.fa-stop:before{content:"\f04d"}.fa-forward:before{content:"\f04e"}.fa-fast-forward:before{content:"\f050"}.fa-step-forward:before{content:"\f051"}.fa-eject:before{content:"\f052"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-plus-circle:before{content:"\f055"}.fa-minus-circle:before{content:"\f056"}.fa-times-circle:before{content:"\f057"}.fa-check-circle:before{content:"\f058"}.fa-question-circle:before{content:"\f059"}.fa-info-circle:before{content:"\f05a"}.fa-crosshairs:before{content:"\f05b"}.fa-times-circle-o:before{content:"\f05c"}.fa-check-circle-o:before{content:"\f05d"}.fa-ban:before{content:"\f05e"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrow-down:before{content:"\f063"}.fa-mail-forward:before,.fa-share:before{content:"\f064"}.fa-expand:before{content:"\f065"}.fa-compress:before{content:"\f066"}.fa-plus:before{content:"\f067"}.fa-minus:before{content:"\f068"}.fa-asterisk:before{content:"\f069"}.fa-exclamation-circle:before{content:"\f06a"}.fa-gift:before{content:"\f06b"}.fa-leaf:before{content:"\f06c"}.fa-fire:before{content:"\f06d"}.fa-eye:before{content:"\f06e"}.fa-eye-slash:before{content:"\f070"}.fa-warning:before,.fa-exclamation-triangle:before{content:"\f071"}.fa-plane:before{content:"\f072"}.fa-calendar:before{content:"\f073"}.fa-random:before{content:"\f074"}.fa-comment:before{content:"\f075"}.fa-magnet:before{content:"\f076"}.fa-chevron-up:before{content:"\f077"}.fa-chevron-down:before{content:"\f078"}.fa-retweet:before{content:"\f079"}.fa-shopping-cart:before{content:"\f07a"}.fa-folder:before{content:"\f07b"}.fa-folder-open:before{content:"\f07c"}.fa-arrows-v:before{content:"\f07d"}.fa-arrows-h:before{content:"\f07e"}.fa-bar-chart-o:before,.fa-bar-chart:before{content:"\f080"}.fa-twitter-square:before{content:"\f081"}.fa-facebook-square:before{content:"\f082"}.fa-camera-retro:before{content:"\f083"}.fa-key:before{content:"\f084"}.fa-gears:before,.fa-cogs:before{content:"\f085"}.fa-comments:before{content:"\f086"}.fa-thumbs-o-up:before{content:"\f087"}.fa-thumbs-o-down:before{content:"\f088"}.fa-star-half:before{content:"\f089"}.fa-heart-o:before{content:"\f08a"}.fa-sign-out:before{content:"\f08b"}.fa-linkedin-square:before{content:"\f08c"}.fa-thumb-tack:before{content:"\f08d"}.fa-external-link:before{content:"\f08e"}.fa-sign-in:before{content:"\f090"}.fa-trophy:before{content:"\f091"}.fa-github-square:before{content:"\f092"}.fa-upload:before{content:"\f093"}.fa-lemon-o:before{content:"\f094"}.fa-phone:before{content:"\f095"}.fa-square-o:before{content:"\f096"}.fa-bookmark-o:before{content:"\f097"}.fa-phone-square:before{content:"\f098"}.fa-twitter:before{content:"\f099"}.fa-facebook-f:before,.fa-facebook:before{content:"\f09a"}.fa-github:before{content:"\f09b"}.fa-unlock:before{content:"\f09c"}.fa-credit-card:before{content:"\f09d"}.fa-rss:before{content:"\f09e"}.fa-hdd-o:before{content:"\f0a0"}.fa-bullhorn:before{content:"\f0a1"}.fa-bell:before{content:"\f0f3"}.fa-certificate:before{content:"\f0a3"}.fa-hand-o-right:before{content:"\f0a4"}.fa-hand-o-left:before{content:"\f0a5"}.fa-hand-o-up:before{content:"\f0a6"}.fa-hand-o-down:before{content:"\f0a7"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-globe:before{content:"\f0ac"}.fa-wrench:before{content:"\f0ad"}.fa-tasks:before{content:"\f0ae"}.fa-filter:before{content:"\f0b0"}.fa-briefcase:before{content:"\f0b1"}.fa-arrows-alt:before{content:"\f0b2"}.fa-group:before,.fa-users:before{content:"\f0c0"}.fa-chain:before,.fa-link:before{content:"\f0c1"}.fa-cloud:before{content:"\f0c2"}.fa-flask:before{content:"\f0c3"}.fa-cut:before,.fa-scissors:before{content:"\f0c4"}.fa-copy:before,.fa-files-o:before{content:"\f0c5"}.fa-paperclip:before{content:"\f0c6"}.fa-save:before,.fa-floppy-o:before{content:"\f0c7"}.fa-square:before{content:"\f0c8"}.fa-navicon:before,.fa-reorder:before,.fa-bars:before{content:"\f0c9"}.fa-list-ul:before{content:"\f0ca"}.fa-list-ol:before{content:"\f0cb"}.fa-strikethrough:before{content:"\f0cc"}.fa-underline:before{content:"\f0cd"}.fa-table:before{content:"\f0ce"}.fa-magic:before{content:"\f0d0"}.fa-truck:before{content:"\f0d1"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-square:before{content:"\f0d3"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-plus:before{content:"\f0d5"}.fa-money:before{content:"\f0d6"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-up:before{content:"\f0d8"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-columns:before{content:"\f0db"}.fa-unsorted:before,.fa-sort:before{content:"\f0dc"}.fa-sort-down:before,.fa-sort-desc:before{content:"\f0dd"}.fa-sort-up:before,.fa-sort-asc:before{content:"\f0de"}.fa-envelope:before{content:"\f0e0"}.fa-linkedin:before{content:"\f0e1"}.fa-rotate-left:before,.fa-undo:before{content:"\f0e2"}.fa-legal:before,.fa-gavel:before{content:"\f0e3"}.fa-dashboard:before,.fa-tachometer:before{content:"\f0e4"}.fa-comment-o:before{content:"\f0e5"}.fa-comments-o:before{content:"\f0e6"}.fa-flash:before,.fa-bolt:before{content:"\f0e7"}.fa-sitemap:before{content:"\f0e8"}.fa-umbrella:before{content:"\f0e9"}.fa-paste:before,.fa-clipboard:before{content:"\f0ea"}.fa-lightbulb-o:before{content:"\f0eb"}.fa-exchange:before{content:"\f0ec"}.fa-cloud-download:before{content:"\f0ed"}.fa-cloud-upload:before{content:"\f0ee"}.fa-user-md:before{content:"\f0f0"}.fa-stethoscope:before{content:"\f0f1"}.fa-suitcase:before{content:"\f0f2"}.fa-bell-o:before{content:"\f0a2"}.fa-coffee:before{content:"\f0f4"}.fa-cutlery:before{content:"\f0f5"}.fa-file-text-o:before{content:"\f0f6"}.fa-building-o:before{content:"\f0f7"}.fa-hospital-o:before{content:"\f0f8"}.fa-ambulance:before{content:"\f0f9"}.fa-medkit:before{content:"\f0fa"}.fa-fighter-jet:before{content:"\f0fb"}.fa-beer:before{content:"\f0fc"}.fa-h-square:before{content:"\f0fd"}.fa-plus-square:before{content:"\f0fe"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angle-down:before{content:"\f107"}.fa-desktop:before{content:"\f108"}.fa-laptop:before{content:"\f109"}.fa-tablet:before{content:"\f10a"}.fa-mobile-phone:before,.fa-mobile:before{content:"\f10b"}.fa-circle-o:before{content:"\f10c"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-spinner:before{content:"\f110"}.fa-circle:before{content:"\f111"}.fa-mail-reply:before,.fa-reply:before{content:"\f112"}.fa-github-alt:before{content:"\f113"}.fa-folder-o:before{content:"\f114"}.fa-folder-open-o:before{content:"\f115"}.fa-smile-o:before{content:"\f118"}.fa-frown-o:before{content:"\f119"}.fa-meh-o:before{content:"\f11a"}.fa-gamepad:before{content:"\f11b"}.fa-keyboard-o:before{content:"\f11c"}.fa-flag-o:before{content:"\f11d"}.fa-flag-checkered:before{content:"\f11e"}.fa-terminal:before{content:"\f120"}.fa-code:before{content:"\f121"}.fa-mail-reply-all:before,.fa-reply-all:before{content:"\f122"}.fa-star-half-empty:before,.fa-star-half-full:before,.fa-star-half-o:before{content:"\f123"}.fa-location-arrow:before{content:"\f124"}.fa-crop:before{content:"\f125"}.fa-code-fork:before{content:"\f126"}.fa-unlink:before,.fa-chain-broken:before{content:"\f127"}.fa-question:before{content:"\f128"}.fa-info:before{content:"\f129"}.fa-exclamation:before{content:"\f12a"}.fa-superscript:before{content:"\f12b"}.fa-subscript:before{content:"\f12c"}.fa-eraser:before{content:"\f12d"}.fa-puzzle-piece:before{content:"\f12e"}.fa-microphone:before{content:"\f130"}.fa-microphone-slash:before{content:"\f131"}.fa-shield:before{content:"\f132"}.fa-calendar-o:before{content:"\f133"}.fa-fire-extinguisher:before{content:"\f134"}.fa-rocket:before{content:"\f135"}.fa-maxcdn:before{content:"\f136"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-html5:before{content:"\f13b"}.fa-css3:before{content:"\f13c"}.fa-anchor:before{content:"\f13d"}.fa-unlock-alt:before{content:"\f13e"}.fa-bullseye:before{content:"\f140"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-rss-square:before{content:"\f143"}.fa-play-circle:before{content:"\f144"}.fa-ticket:before{content:"\f145"}.fa-minus-square:before{content:"\f146"}.fa-minus-square-o:before{content:"\f147"}.fa-level-up:before{content:"\f148"}.fa-level-down:before{content:"\f149"}.fa-check-square:before{content:"\f14a"}.fa-pencil-square:before{content:"\f14b"}.fa-external-link-square:before{content:"\f14c"}.fa-share-square:before{content:"\f14d"}.fa-compass:before{content:"\f14e"}.fa-toggle-down:before,.fa-caret-square-o-down:before{content:"\f150"}.fa-toggle-up:before,.fa-caret-square-o-up:before{content:"\f151"}.fa-toggle-right:before,.fa-caret-square-o-right:before{content:"\f152"}.fa-euro:before,.fa-eur:before{content:"\f153"}.fa-gbp:before{content:"\f154"}.fa-dollar:before,.fa-usd:before{content:"\f155"}.fa-rupee:before,.fa-inr:before{content:"\f156"}.fa-cny:before,.fa-rmb:before,.fa-yen:before,.fa-jpy:before{content:"\f157"}.fa-ruble:before,.fa-rouble:before,.fa-rub:before{content:"\f158"}.fa-won:before,.fa-krw:before{content:"\f159"}.fa-bitcoin:before,.fa-btc:before{content:"\f15a"}.fa-file:before{content:"\f15b"}.fa-file-text:before{content:"\f15c"}.fa-sort-alpha-asc:before{content:"\f15d"}.fa-sort-alpha-desc:before{content:"\f15e"}.fa-sort-amount-asc:before{content:"\f160"}.fa-sort-amount-desc:before{content:"\f161"}.fa-sort-numeric-asc:before{content:"\f162"}.fa-sort-numeric-desc:before{content:"\f163"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbs-down:before{content:"\f165"}.fa-youtube-square:before{content:"\f166"}.fa-youtube:before{content:"\f167"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-youtube-play:before{content:"\f16a"}.fa-dropbox:before{content:"\f16b"}.fa-stack-overflow:before{content:"\f16c"}.fa-instagram:before{content:"\f16d"}.fa-flickr:before{content:"\f16e"}.fa-adn:before{content:"\f170"}.fa-bitbucket:before{content:"\f171"}.fa-bitbucket-square:before{content:"\f172"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-long-arrow-down:before{content:"\f175"}.fa-long-arrow-up:before{content:"\f176"}.fa-long-arrow-left:before{content:"\f177"}.fa-long-arrow-right:before{content:"\f178"}.fa-apple:before{content:"\f179"}.fa-windows:before{content:"\f17a"}.fa-android:before{content:"\f17b"}.fa-linux:before{content:"\f17c"}.fa-dribbble:before{content:"\f17d"}.fa-skype:before{content:"\f17e"}.fa-foursquare:before{content:"\f180"}.fa-trello:before{content:"\f181"}.fa-female:before{content:"\f182"}.fa-male:before{content:"\f183"}.fa-gittip:before,.fa-gratipay:before{content:"\f184"}.fa-sun-o:before{content:"\f185"}.fa-moon-o:before{content:"\f186"}.fa-archive:before{content:"\f187"}.fa-bug:before{content:"\f188"}.fa-vk:before{content:"\f189"}.fa-weibo:before{content:"\f18a"}.fa-renren:before{content:"\f18b"}.fa-pagelines:before{content:"\f18c"}.fa-stack-exchange:before{content:"\f18d"}.fa-arrow-circle-o-right:before{content:"\f18e"}.fa-arrow-circle-o-left:before{content:"\f190"}.fa-toggle-left:before,.fa-caret-square-o-left:before{content:"\f191"}.fa-dot-circle-o:before{content:"\f192"}.fa-wheelchair:before{content:"\f193"}.fa-vimeo-square:before{content:"\f194"}.fa-turkish-lira:before,.fa-try:before{content:"\f195"}.fa-plus-square-o:before{content:"\f196"}.fa-space-shuttle:before{content:"\f197"}.fa-slack:before{content:"\f198"}.fa-envelope-square:before{content:"\f199"}.fa-wordpress:before{content:"\f19a"}.fa-openid:before{content:"\f19b"}.fa-institution:before,.fa-bank:before,.fa-university:before{content:"\f19c"}.fa-mortar-board:before,.fa-graduation-cap:before{content:"\f19d"}.fa-yahoo:before{content:"\f19e"}.fa-google:before{content:"\f1a0"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-square:before{content:"\f1a2"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-stumbleupon:before{content:"\f1a4"}.fa-delicious:before{content:"\f1a5"}.fa-digg:before{content:"\f1a6"}.fa-pied-piper:before{content:"\f1a7"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-drupal:before{content:"\f1a9"}.fa-joomla:before{content:"\f1aa"}.fa-language:before{content:"\f1ab"}.fa-fax:before{content:"\f1ac"}.fa-building:before{content:"\f1ad"}.fa-child:before{content:"\f1ae"}.fa-paw:before{content:"\f1b0"}.fa-spoon:before{content:"\f1b1"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-recycle:before{content:"\f1b8"}.fa-automobile:before,.fa-car:before{content:"\f1b9"}.fa-cab:before,.fa-taxi:before{content:"\f1ba"}.fa-tree:before{content:"\f1bb"}.fa-spotify:before{content:"\f1bc"}.fa-deviantart:before{content:"\f1bd"}.fa-soundcloud:before{content:"\f1be"}.fa-database:before{content:"\f1c0"}.fa-file-pdf-o:before{content:"\f1c1"}.fa-file-word-o:before{content:"\f1c2"}.fa-file-excel-o:before{content:"\f1c3"}.fa-file-powerpoint-o:before{content:"\f1c4"}.fa-file-photo-o:before,.fa-file-picture-o:before,.fa-file-image-o:before{content:"\f1c5"}.fa-file-zip-o:before,.fa-file-archive-o:before{content:"\f1c6"}.fa-file-sound-o:before,.fa-file-audio-o:before{content:"\f1c7"}.fa-file-movie-o:before,.fa-file-video-o:before{content:"\f1c8"}.fa-file-code-o:before{content:"\f1c9"}.fa-vine:before{content:"\f1ca"}.fa-codepen:before{content:"\f1cb"}.fa-jsfiddle:before{content:"\f1cc"}.fa-life-bouy:before,.fa-life-buoy:before,.fa-life-saver:before,.fa-support:before,.fa-life-ring:before{content:"\f1cd"}.fa-circle-o-notch:before{content:"\f1ce"}.fa-ra:before,.fa-rebel:before{content:"\f1d0"}.fa-ge:before,.fa-empire:before{content:"\f1d1"}.fa-git-square:before{content:"\f1d2"}.fa-git:before{content:"\f1d3"}.fa-hacker-news:before{content:"\f1d4"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-qq:before{content:"\f1d6"}.fa-wechat:before,.fa-weixin:before{content:"\f1d7"}.fa-send:before,.fa-paper-plane:before{content:"\f1d8"}.fa-send-o:before,.fa-paper-plane-o:before{content:"\f1d9"}.fa-history:before{content:"\f1da"}.fa-genderless:before,.fa-circle-thin:before{content:"\f1db"}.fa-header:before{content:"\f1dc"}.fa-paragraph:before{content:"\f1dd"}.fa-sliders:before{content:"\f1de"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-bomb:before{content:"\f1e2"}.fa-soccer-ball-o:before,.fa-futbol-o:before{content:"\f1e3"}.fa-tty:before{content:"\f1e4"}.fa-binoculars:before{content:"\f1e5"}.fa-plug:before{content:"\f1e6"}.fa-slideshare:before{content:"\f1e7"}.fa-twitch:before{content:"\f1e8"}.fa-yelp:before{content:"\f1e9"}.fa-newspaper-o:before{content:"\f1ea"}.fa-wifi:before{content:"\f1eb"}.fa-calculator:before{content:"\f1ec"}.fa-paypal:before{content:"\f1ed"}.fa-google-wallet:before{content:"\f1ee"}.fa-cc-visa:before{content:"\f1f0"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-bell-slash:before{content:"\f1f6"}.fa-bell-slash-o:before{content:"\f1f7"}.fa-trash:before{content:"\f1f8"}.fa-copyright:before{content:"\f1f9"}.fa-at:before{content:"\f1fa"}.fa-eyedropper:before{content:"\f1fb"}.fa-paint-brush:before{content:"\f1fc"}.fa-birthday-cake:before{content:"\f1fd"}.fa-area-chart:before{content:"\f1fe"}.fa-pie-chart:before{content:"\f200"}.fa-line-chart:before{content:"\f201"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-bicycle:before{content:"\f206"}.fa-bus:before{content:"\f207"}.fa-ioxhost:before{content:"\f208"}.fa-angellist:before{content:"\f209"}.fa-cc:before{content:"\f20a"}.fa-shekel:before,.fa-sheqel:before,.fa-ils:before{content:"\f20b"}.fa-meanpath:before{content:"\f20c"}.fa-buysellads:before{content:"\f20d"}.fa-connectdevelop:before{content:"\f20e"}.fa-dashcube:before{content:"\f210"}.fa-forumbee:before{content:"\f211"}.fa-leanpub:before{content:"\f212"}.fa-sellsy:before{content:"\f213"}.fa-shirtsinbulk:before{content:"\f214"}.fa-simplybuilt:before{content:"\f215"}.fa-skyatlas:before{content:"\f216"}.fa-cart-plus:before{content:"\f217"}.fa-cart-arrow-down:before{content:"\f218"}.fa-diamond:before{content:"\f219"}.fa-ship:before{content:"\f21a"}.fa-user-secret:before{content:"\f21b"}.fa-motorcycle:before{content:"\f21c"}.fa-street-view:before{content:"\f21d"}.fa-heartbeat:before{content:"\f21e"}.fa-venus:before{content:"\f221"}.fa-mars:before{content:"\f222"}.fa-mercury:before{content:"\f223"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-venus-double:before{content:"\f226"}.fa-mars-double:before{content:"\f227"}.fa-venus-mars:before{content:"\f228"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-neuter:before{content:"\f22c"}.fa-facebook-official:before{content:"\f230"}.fa-pinterest-p:before{content:"\f231"}.fa-whatsapp:before{content:"\f232"}.fa-server:before{content:"\f233"}.fa-user-plus:before{content:"\f234"}.fa-user-times:before{content:"\f235"}.fa-hotel:before,.fa-bed:before{content:"\f236"}.fa-viacoin:before{content:"\f237"}.fa-train:before{content:"\f238"}.fa-subway:before{content:"\f239"}.fa-medium:before{content:"\f23a"} \ No newline at end of file diff --git a/presentation/contrib/font-awesome-4.3.0/fonts/FontAwesome.otf b/presentation/contrib/font-awesome-4.3.0/fonts/FontAwesome.otf new file mode 100644 index 0000000000000000000000000000000000000000..f7936cc1e789eea5438d576d6b12de20191da09d GIT binary patch literal 93888 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≪=u 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 AZ2$lO literal 0 HcmV?d00001 diff --git a/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot b/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot new file mode 100644 index 0000000000000000000000000000000000000000..33b2bb80055cc480e797de704925acaba4ba7d7d GIT binary patch literal 60767 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 AP6I%I8ea)obehR<*4~3l7oHpr$ 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 fa`8_SKCNCP$F|pb)t_e@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf b/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ed9372f8ea0fbaa04f42630a48887e4b38945345 GIT binary patch literal 122092 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 W2j1}g=bmJ6e-Q&?$U)Ow1_l6KGvlTJ literal 0 HcmV?d00001 diff --git a/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 b/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..3311d585145b1cc1b9581e914acbb32d8542b4f5 GIT binary patch literal 56780 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 li { position: relative; } +} +.@{fa-css-prefix}-li { + position: absolute; + left: -@fa-li-width; + width: @fa-li-width; + top: (2em / 14); + text-align: center; + &.@{fa-css-prefix}-lg { + left: (-@fa-li-width + (4em / 14)); + } +} diff --git a/presentation/contrib/font-awesome-4.3.0/less/mixins.less b/presentation/contrib/font-awesome-4.3.0/less/mixins.less new file mode 100644 index 000000000..c97f4604c --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/less/mixins.less @@ -0,0 +1,27 @@ +// Mixins +// -------------------------- + +.fa-icon() { + display: inline-block; + font: normal normal normal @fa-font-size-base/1 FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); // ensures no half-pixel rendering in firefox + +} + +.fa-icon-rotate(@degrees, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation); + -webkit-transform: rotate(@degrees); + -ms-transform: rotate(@degrees); + transform: rotate(@degrees); +} + +.fa-icon-flip(@horiz, @vert, @rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=@rotation, mirror=1); + -webkit-transform: scale(@horiz, @vert); + -ms-transform: scale(@horiz, @vert); + transform: scale(@horiz, @vert); +} diff --git a/presentation/contrib/font-awesome-4.3.0/less/path.less b/presentation/contrib/font-awesome-4.3.0/less/path.less new file mode 100644 index 000000000..9211e6659 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/less/path.less @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('@{fa-font-path}/fontawesome-webfont.eot?v=@{fa-version}'); + src: url('@{fa-font-path}/fontawesome-webfont.eot?#iefix&v=@{fa-version}') format('embedded-opentype'), + url('@{fa-font-path}/fontawesome-webfont.woff2?v=@{fa-version}') format('woff2'), + url('@{fa-font-path}/fontawesome-webfont.woff?v=@{fa-version}') format('woff'), + url('@{fa-font-path}/fontawesome-webfont.ttf?v=@{fa-version}') format('truetype'), + url('@{fa-font-path}/fontawesome-webfont.svg?v=@{fa-version}#fontawesomeregular') format('svg'); +// src: url('@{fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less b/presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less new file mode 100644 index 000000000..f6ba81475 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.@{fa-css-prefix}-rotate-90 { .fa-icon-rotate(90deg, 1); } +.@{fa-css-prefix}-rotate-180 { .fa-icon-rotate(180deg, 2); } +.@{fa-css-prefix}-rotate-270 { .fa-icon-rotate(270deg, 3); } + +.@{fa-css-prefix}-flip-horizontal { .fa-icon-flip(-1, 1, 0); } +.@{fa-css-prefix}-flip-vertical { .fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .@{fa-css-prefix}-rotate-90, +:root .@{fa-css-prefix}-rotate-180, +:root .@{fa-css-prefix}-rotate-270, +:root .@{fa-css-prefix}-flip-horizontal, +:root .@{fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/presentation/contrib/font-awesome-4.3.0/less/stacked.less b/presentation/contrib/font-awesome-4.3.0/less/stacked.less new file mode 100644 index 000000000..fc53fb0e7 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/less/stacked.less @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.@{fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.@{fa-css-prefix}-stack-1x, .@{fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.@{fa-css-prefix}-stack-1x { line-height: inherit; } +.@{fa-css-prefix}-stack-2x { font-size: 2em; } +.@{fa-css-prefix}-inverse { color: @fa-inverse; } diff --git a/presentation/contrib/font-awesome-4.3.0/less/variables.less b/presentation/contrib/font-awesome-4.3.0/less/variables.less new file mode 100644 index 000000000..d526064c8 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/less/variables.less @@ -0,0 +1,606 @@ +// Variables +// -------------------------- + +@fa-font-path: "../fonts"; +@fa-font-size-base: 14px; +//@fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts"; // for referencing Bootstrap CDN font files directly +@fa-css-prefix: fa; +@fa-version: "4.3.0"; +@fa-border-color: #eee; +@fa-inverse: #fff; +@fa-li-width: (30em / 14); + +@fa-var-adjust: "\f042"; +@fa-var-adn: "\f170"; +@fa-var-align-center: "\f037"; +@fa-var-align-justify: "\f039"; +@fa-var-align-left: "\f036"; +@fa-var-align-right: "\f038"; +@fa-var-ambulance: "\f0f9"; +@fa-var-anchor: "\f13d"; +@fa-var-android: "\f17b"; +@fa-var-angellist: "\f209"; +@fa-var-angle-double-down: "\f103"; +@fa-var-angle-double-left: "\f100"; +@fa-var-angle-double-right: "\f101"; +@fa-var-angle-double-up: "\f102"; +@fa-var-angle-down: "\f107"; +@fa-var-angle-left: "\f104"; +@fa-var-angle-right: "\f105"; +@fa-var-angle-up: "\f106"; +@fa-var-apple: "\f179"; +@fa-var-archive: "\f187"; +@fa-var-area-chart: "\f1fe"; +@fa-var-arrow-circle-down: "\f0ab"; +@fa-var-arrow-circle-left: "\f0a8"; +@fa-var-arrow-circle-o-down: "\f01a"; +@fa-var-arrow-circle-o-left: "\f190"; +@fa-var-arrow-circle-o-right: "\f18e"; +@fa-var-arrow-circle-o-up: "\f01b"; +@fa-var-arrow-circle-right: "\f0a9"; +@fa-var-arrow-circle-up: "\f0aa"; +@fa-var-arrow-down: "\f063"; +@fa-var-arrow-left: "\f060"; +@fa-var-arrow-right: "\f061"; +@fa-var-arrow-up: "\f062"; +@fa-var-arrows: "\f047"; +@fa-var-arrows-alt: "\f0b2"; +@fa-var-arrows-h: "\f07e"; +@fa-var-arrows-v: "\f07d"; +@fa-var-asterisk: "\f069"; +@fa-var-at: "\f1fa"; +@fa-var-automobile: "\f1b9"; +@fa-var-backward: "\f04a"; +@fa-var-ban: "\f05e"; +@fa-var-bank: "\f19c"; +@fa-var-bar-chart: "\f080"; +@fa-var-bar-chart-o: "\f080"; +@fa-var-barcode: "\f02a"; +@fa-var-bars: "\f0c9"; +@fa-var-bed: "\f236"; +@fa-var-beer: "\f0fc"; +@fa-var-behance: "\f1b4"; +@fa-var-behance-square: "\f1b5"; +@fa-var-bell: "\f0f3"; +@fa-var-bell-o: "\f0a2"; +@fa-var-bell-slash: "\f1f6"; +@fa-var-bell-slash-o: "\f1f7"; +@fa-var-bicycle: "\f206"; +@fa-var-binoculars: "\f1e5"; +@fa-var-birthday-cake: "\f1fd"; +@fa-var-bitbucket: "\f171"; +@fa-var-bitbucket-square: "\f172"; +@fa-var-bitcoin: "\f15a"; +@fa-var-bold: "\f032"; +@fa-var-bolt: "\f0e7"; +@fa-var-bomb: "\f1e2"; +@fa-var-book: "\f02d"; +@fa-var-bookmark: "\f02e"; +@fa-var-bookmark-o: "\f097"; +@fa-var-briefcase: "\f0b1"; +@fa-var-btc: "\f15a"; +@fa-var-bug: "\f188"; +@fa-var-building: "\f1ad"; +@fa-var-building-o: "\f0f7"; +@fa-var-bullhorn: "\f0a1"; +@fa-var-bullseye: "\f140"; +@fa-var-bus: "\f207"; +@fa-var-buysellads: "\f20d"; +@fa-var-cab: "\f1ba"; +@fa-var-calculator: "\f1ec"; +@fa-var-calendar: "\f073"; +@fa-var-calendar-o: "\f133"; +@fa-var-camera: "\f030"; +@fa-var-camera-retro: "\f083"; +@fa-var-car: "\f1b9"; +@fa-var-caret-down: "\f0d7"; +@fa-var-caret-left: "\f0d9"; +@fa-var-caret-right: "\f0da"; +@fa-var-caret-square-o-down: "\f150"; +@fa-var-caret-square-o-left: "\f191"; +@fa-var-caret-square-o-right: "\f152"; +@fa-var-caret-square-o-up: "\f151"; +@fa-var-caret-up: "\f0d8"; +@fa-var-cart-arrow-down: "\f218"; +@fa-var-cart-plus: "\f217"; +@fa-var-cc: "\f20a"; +@fa-var-cc-amex: "\f1f3"; +@fa-var-cc-discover: "\f1f2"; +@fa-var-cc-mastercard: "\f1f1"; +@fa-var-cc-paypal: "\f1f4"; +@fa-var-cc-stripe: "\f1f5"; +@fa-var-cc-visa: "\f1f0"; +@fa-var-certificate: "\f0a3"; +@fa-var-chain: "\f0c1"; +@fa-var-chain-broken: "\f127"; +@fa-var-check: "\f00c"; +@fa-var-check-circle: "\f058"; +@fa-var-check-circle-o: "\f05d"; +@fa-var-check-square: "\f14a"; +@fa-var-check-square-o: "\f046"; +@fa-var-chevron-circle-down: "\f13a"; +@fa-var-chevron-circle-left: "\f137"; +@fa-var-chevron-circle-right: "\f138"; +@fa-var-chevron-circle-up: "\f139"; +@fa-var-chevron-down: "\f078"; +@fa-var-chevron-left: "\f053"; +@fa-var-chevron-right: "\f054"; +@fa-var-chevron-up: "\f077"; +@fa-var-child: "\f1ae"; +@fa-var-circle: "\f111"; +@fa-var-circle-o: "\f10c"; +@fa-var-circle-o-notch: "\f1ce"; +@fa-var-circle-thin: "\f1db"; +@fa-var-clipboard: "\f0ea"; +@fa-var-clock-o: "\f017"; +@fa-var-close: "\f00d"; +@fa-var-cloud: "\f0c2"; +@fa-var-cloud-download: "\f0ed"; +@fa-var-cloud-upload: "\f0ee"; +@fa-var-cny: "\f157"; +@fa-var-code: "\f121"; +@fa-var-code-fork: "\f126"; +@fa-var-codepen: "\f1cb"; +@fa-var-coffee: "\f0f4"; +@fa-var-cog: "\f013"; +@fa-var-cogs: "\f085"; +@fa-var-columns: "\f0db"; +@fa-var-comment: "\f075"; +@fa-var-comment-o: "\f0e5"; +@fa-var-comments: "\f086"; +@fa-var-comments-o: "\f0e6"; +@fa-var-compass: "\f14e"; +@fa-var-compress: "\f066"; +@fa-var-connectdevelop: "\f20e"; +@fa-var-copy: "\f0c5"; +@fa-var-copyright: "\f1f9"; +@fa-var-credit-card: "\f09d"; +@fa-var-crop: "\f125"; +@fa-var-crosshairs: "\f05b"; +@fa-var-css3: "\f13c"; +@fa-var-cube: "\f1b2"; +@fa-var-cubes: "\f1b3"; +@fa-var-cut: "\f0c4"; +@fa-var-cutlery: "\f0f5"; +@fa-var-dashboard: "\f0e4"; +@fa-var-dashcube: "\f210"; +@fa-var-database: "\f1c0"; +@fa-var-dedent: "\f03b"; +@fa-var-delicious: "\f1a5"; +@fa-var-desktop: "\f108"; +@fa-var-deviantart: "\f1bd"; +@fa-var-diamond: "\f219"; +@fa-var-digg: "\f1a6"; +@fa-var-dollar: "\f155"; +@fa-var-dot-circle-o: "\f192"; +@fa-var-download: "\f019"; +@fa-var-dribbble: "\f17d"; +@fa-var-dropbox: "\f16b"; +@fa-var-drupal: "\f1a9"; +@fa-var-edit: "\f044"; +@fa-var-eject: "\f052"; +@fa-var-ellipsis-h: "\f141"; +@fa-var-ellipsis-v: "\f142"; +@fa-var-empire: "\f1d1"; +@fa-var-envelope: "\f0e0"; +@fa-var-envelope-o: "\f003"; +@fa-var-envelope-square: "\f199"; +@fa-var-eraser: "\f12d"; +@fa-var-eur: "\f153"; +@fa-var-euro: "\f153"; +@fa-var-exchange: "\f0ec"; +@fa-var-exclamation: "\f12a"; +@fa-var-exclamation-circle: "\f06a"; +@fa-var-exclamation-triangle: "\f071"; +@fa-var-expand: "\f065"; +@fa-var-external-link: "\f08e"; +@fa-var-external-link-square: "\f14c"; +@fa-var-eye: "\f06e"; +@fa-var-eye-slash: "\f070"; +@fa-var-eyedropper: "\f1fb"; +@fa-var-facebook: "\f09a"; +@fa-var-facebook-f: "\f09a"; +@fa-var-facebook-official: "\f230"; +@fa-var-facebook-square: "\f082"; +@fa-var-fast-backward: "\f049"; +@fa-var-fast-forward: "\f050"; +@fa-var-fax: "\f1ac"; +@fa-var-female: "\f182"; +@fa-var-fighter-jet: "\f0fb"; +@fa-var-file: "\f15b"; +@fa-var-file-archive-o: "\f1c6"; +@fa-var-file-audio-o: "\f1c7"; +@fa-var-file-code-o: "\f1c9"; +@fa-var-file-excel-o: "\f1c3"; +@fa-var-file-image-o: "\f1c5"; +@fa-var-file-movie-o: "\f1c8"; +@fa-var-file-o: "\f016"; +@fa-var-file-pdf-o: "\f1c1"; +@fa-var-file-photo-o: "\f1c5"; +@fa-var-file-picture-o: "\f1c5"; +@fa-var-file-powerpoint-o: "\f1c4"; +@fa-var-file-sound-o: "\f1c7"; +@fa-var-file-text: "\f15c"; +@fa-var-file-text-o: "\f0f6"; +@fa-var-file-video-o: "\f1c8"; +@fa-var-file-word-o: "\f1c2"; +@fa-var-file-zip-o: "\f1c6"; +@fa-var-files-o: "\f0c5"; +@fa-var-film: "\f008"; +@fa-var-filter: "\f0b0"; +@fa-var-fire: "\f06d"; +@fa-var-fire-extinguisher: "\f134"; +@fa-var-flag: "\f024"; +@fa-var-flag-checkered: "\f11e"; +@fa-var-flag-o: "\f11d"; +@fa-var-flash: "\f0e7"; +@fa-var-flask: "\f0c3"; +@fa-var-flickr: "\f16e"; +@fa-var-floppy-o: "\f0c7"; +@fa-var-folder: "\f07b"; +@fa-var-folder-o: "\f114"; +@fa-var-folder-open: "\f07c"; +@fa-var-folder-open-o: "\f115"; +@fa-var-font: "\f031"; +@fa-var-forumbee: "\f211"; +@fa-var-forward: "\f04e"; +@fa-var-foursquare: "\f180"; +@fa-var-frown-o: "\f119"; +@fa-var-futbol-o: "\f1e3"; +@fa-var-gamepad: "\f11b"; +@fa-var-gavel: "\f0e3"; +@fa-var-gbp: "\f154"; +@fa-var-ge: "\f1d1"; +@fa-var-gear: "\f013"; +@fa-var-gears: "\f085"; +@fa-var-genderless: "\f1db"; +@fa-var-gift: "\f06b"; +@fa-var-git: "\f1d3"; +@fa-var-git-square: "\f1d2"; +@fa-var-github: "\f09b"; +@fa-var-github-alt: "\f113"; +@fa-var-github-square: "\f092"; +@fa-var-gittip: "\f184"; +@fa-var-glass: "\f000"; +@fa-var-globe: "\f0ac"; +@fa-var-google: "\f1a0"; +@fa-var-google-plus: "\f0d5"; +@fa-var-google-plus-square: "\f0d4"; +@fa-var-google-wallet: "\f1ee"; +@fa-var-graduation-cap: "\f19d"; +@fa-var-gratipay: "\f184"; +@fa-var-group: "\f0c0"; +@fa-var-h-square: "\f0fd"; +@fa-var-hacker-news: "\f1d4"; +@fa-var-hand-o-down: "\f0a7"; +@fa-var-hand-o-left: "\f0a5"; +@fa-var-hand-o-right: "\f0a4"; +@fa-var-hand-o-up: "\f0a6"; +@fa-var-hdd-o: "\f0a0"; +@fa-var-header: "\f1dc"; +@fa-var-headphones: "\f025"; +@fa-var-heart: "\f004"; +@fa-var-heart-o: "\f08a"; +@fa-var-heartbeat: "\f21e"; +@fa-var-history: "\f1da"; +@fa-var-home: "\f015"; +@fa-var-hospital-o: "\f0f8"; +@fa-var-hotel: "\f236"; +@fa-var-html5: "\f13b"; +@fa-var-ils: "\f20b"; +@fa-var-image: "\f03e"; +@fa-var-inbox: "\f01c"; +@fa-var-indent: "\f03c"; +@fa-var-info: "\f129"; +@fa-var-info-circle: "\f05a"; +@fa-var-inr: "\f156"; +@fa-var-instagram: "\f16d"; +@fa-var-institution: "\f19c"; +@fa-var-ioxhost: "\f208"; +@fa-var-italic: "\f033"; +@fa-var-joomla: "\f1aa"; +@fa-var-jpy: "\f157"; +@fa-var-jsfiddle: "\f1cc"; +@fa-var-key: "\f084"; +@fa-var-keyboard-o: "\f11c"; +@fa-var-krw: "\f159"; +@fa-var-language: "\f1ab"; +@fa-var-laptop: "\f109"; +@fa-var-lastfm: "\f202"; +@fa-var-lastfm-square: "\f203"; +@fa-var-leaf: "\f06c"; +@fa-var-leanpub: "\f212"; +@fa-var-legal: "\f0e3"; +@fa-var-lemon-o: "\f094"; +@fa-var-level-down: "\f149"; +@fa-var-level-up: "\f148"; +@fa-var-life-bouy: "\f1cd"; +@fa-var-life-buoy: "\f1cd"; +@fa-var-life-ring: "\f1cd"; +@fa-var-life-saver: "\f1cd"; +@fa-var-lightbulb-o: "\f0eb"; +@fa-var-line-chart: "\f201"; +@fa-var-link: "\f0c1"; +@fa-var-linkedin: "\f0e1"; +@fa-var-linkedin-square: "\f08c"; +@fa-var-linux: "\f17c"; +@fa-var-list: "\f03a"; +@fa-var-list-alt: "\f022"; +@fa-var-list-ol: "\f0cb"; +@fa-var-list-ul: "\f0ca"; +@fa-var-location-arrow: "\f124"; +@fa-var-lock: "\f023"; +@fa-var-long-arrow-down: "\f175"; +@fa-var-long-arrow-left: "\f177"; +@fa-var-long-arrow-right: "\f178"; +@fa-var-long-arrow-up: "\f176"; +@fa-var-magic: "\f0d0"; +@fa-var-magnet: "\f076"; +@fa-var-mail-forward: "\f064"; +@fa-var-mail-reply: "\f112"; +@fa-var-mail-reply-all: "\f122"; +@fa-var-male: "\f183"; +@fa-var-map-marker: "\f041"; +@fa-var-mars: "\f222"; +@fa-var-mars-double: "\f227"; +@fa-var-mars-stroke: "\f229"; +@fa-var-mars-stroke-h: "\f22b"; +@fa-var-mars-stroke-v: "\f22a"; +@fa-var-maxcdn: "\f136"; +@fa-var-meanpath: "\f20c"; +@fa-var-medium: "\f23a"; +@fa-var-medkit: "\f0fa"; +@fa-var-meh-o: "\f11a"; +@fa-var-mercury: "\f223"; +@fa-var-microphone: "\f130"; +@fa-var-microphone-slash: "\f131"; +@fa-var-minus: "\f068"; +@fa-var-minus-circle: "\f056"; +@fa-var-minus-square: "\f146"; +@fa-var-minus-square-o: "\f147"; +@fa-var-mobile: "\f10b"; +@fa-var-mobile-phone: "\f10b"; +@fa-var-money: "\f0d6"; +@fa-var-moon-o: "\f186"; +@fa-var-mortar-board: "\f19d"; +@fa-var-motorcycle: "\f21c"; +@fa-var-music: "\f001"; +@fa-var-navicon: "\f0c9"; +@fa-var-neuter: "\f22c"; +@fa-var-newspaper-o: "\f1ea"; +@fa-var-openid: "\f19b"; +@fa-var-outdent: "\f03b"; +@fa-var-pagelines: "\f18c"; +@fa-var-paint-brush: "\f1fc"; +@fa-var-paper-plane: "\f1d8"; +@fa-var-paper-plane-o: "\f1d9"; +@fa-var-paperclip: "\f0c6"; +@fa-var-paragraph: "\f1dd"; +@fa-var-paste: "\f0ea"; +@fa-var-pause: "\f04c"; +@fa-var-paw: "\f1b0"; +@fa-var-paypal: "\f1ed"; +@fa-var-pencil: "\f040"; +@fa-var-pencil-square: "\f14b"; +@fa-var-pencil-square-o: "\f044"; +@fa-var-phone: "\f095"; +@fa-var-phone-square: "\f098"; +@fa-var-photo: "\f03e"; +@fa-var-picture-o: "\f03e"; +@fa-var-pie-chart: "\f200"; +@fa-var-pied-piper: "\f1a7"; +@fa-var-pied-piper-alt: "\f1a8"; +@fa-var-pinterest: "\f0d2"; +@fa-var-pinterest-p: "\f231"; +@fa-var-pinterest-square: "\f0d3"; +@fa-var-plane: "\f072"; +@fa-var-play: "\f04b"; +@fa-var-play-circle: "\f144"; +@fa-var-play-circle-o: "\f01d"; +@fa-var-plug: "\f1e6"; +@fa-var-plus: "\f067"; +@fa-var-plus-circle: "\f055"; +@fa-var-plus-square: "\f0fe"; +@fa-var-plus-square-o: "\f196"; +@fa-var-power-off: "\f011"; +@fa-var-print: "\f02f"; +@fa-var-puzzle-piece: "\f12e"; +@fa-var-qq: "\f1d6"; +@fa-var-qrcode: "\f029"; +@fa-var-question: "\f128"; +@fa-var-question-circle: "\f059"; +@fa-var-quote-left: "\f10d"; +@fa-var-quote-right: "\f10e"; +@fa-var-ra: "\f1d0"; +@fa-var-random: "\f074"; +@fa-var-rebel: "\f1d0"; +@fa-var-recycle: "\f1b8"; +@fa-var-reddit: "\f1a1"; +@fa-var-reddit-square: "\f1a2"; +@fa-var-refresh: "\f021"; +@fa-var-remove: "\f00d"; +@fa-var-renren: "\f18b"; +@fa-var-reorder: "\f0c9"; +@fa-var-repeat: "\f01e"; +@fa-var-reply: "\f112"; +@fa-var-reply-all: "\f122"; +@fa-var-retweet: "\f079"; +@fa-var-rmb: "\f157"; +@fa-var-road: "\f018"; +@fa-var-rocket: "\f135"; +@fa-var-rotate-left: "\f0e2"; +@fa-var-rotate-right: "\f01e"; +@fa-var-rouble: "\f158"; +@fa-var-rss: "\f09e"; +@fa-var-rss-square: "\f143"; +@fa-var-rub: "\f158"; +@fa-var-ruble: "\f158"; +@fa-var-rupee: "\f156"; +@fa-var-save: "\f0c7"; +@fa-var-scissors: "\f0c4"; +@fa-var-search: "\f002"; +@fa-var-search-minus: "\f010"; +@fa-var-search-plus: "\f00e"; +@fa-var-sellsy: "\f213"; +@fa-var-send: "\f1d8"; +@fa-var-send-o: "\f1d9"; +@fa-var-server: "\f233"; +@fa-var-share: "\f064"; +@fa-var-share-alt: "\f1e0"; +@fa-var-share-alt-square: "\f1e1"; +@fa-var-share-square: "\f14d"; +@fa-var-share-square-o: "\f045"; +@fa-var-shekel: "\f20b"; +@fa-var-sheqel: "\f20b"; +@fa-var-shield: "\f132"; +@fa-var-ship: "\f21a"; +@fa-var-shirtsinbulk: "\f214"; +@fa-var-shopping-cart: "\f07a"; +@fa-var-sign-in: "\f090"; +@fa-var-sign-out: "\f08b"; +@fa-var-signal: "\f012"; +@fa-var-simplybuilt: "\f215"; +@fa-var-sitemap: "\f0e8"; +@fa-var-skyatlas: "\f216"; +@fa-var-skype: "\f17e"; +@fa-var-slack: "\f198"; +@fa-var-sliders: "\f1de"; +@fa-var-slideshare: "\f1e7"; +@fa-var-smile-o: "\f118"; +@fa-var-soccer-ball-o: "\f1e3"; +@fa-var-sort: "\f0dc"; +@fa-var-sort-alpha-asc: "\f15d"; +@fa-var-sort-alpha-desc: "\f15e"; +@fa-var-sort-amount-asc: "\f160"; +@fa-var-sort-amount-desc: "\f161"; +@fa-var-sort-asc: "\f0de"; +@fa-var-sort-desc: "\f0dd"; +@fa-var-sort-down: "\f0dd"; +@fa-var-sort-numeric-asc: "\f162"; +@fa-var-sort-numeric-desc: "\f163"; +@fa-var-sort-up: "\f0de"; +@fa-var-soundcloud: "\f1be"; +@fa-var-space-shuttle: "\f197"; +@fa-var-spinner: "\f110"; +@fa-var-spoon: "\f1b1"; +@fa-var-spotify: "\f1bc"; +@fa-var-square: "\f0c8"; +@fa-var-square-o: "\f096"; +@fa-var-stack-exchange: "\f18d"; +@fa-var-stack-overflow: "\f16c"; +@fa-var-star: "\f005"; +@fa-var-star-half: "\f089"; +@fa-var-star-half-empty: "\f123"; +@fa-var-star-half-full: "\f123"; +@fa-var-star-half-o: "\f123"; +@fa-var-star-o: "\f006"; +@fa-var-steam: "\f1b6"; +@fa-var-steam-square: "\f1b7"; +@fa-var-step-backward: "\f048"; +@fa-var-step-forward: "\f051"; +@fa-var-stethoscope: "\f0f1"; +@fa-var-stop: "\f04d"; +@fa-var-street-view: "\f21d"; +@fa-var-strikethrough: "\f0cc"; +@fa-var-stumbleupon: "\f1a4"; +@fa-var-stumbleupon-circle: "\f1a3"; +@fa-var-subscript: "\f12c"; +@fa-var-subway: "\f239"; +@fa-var-suitcase: "\f0f2"; +@fa-var-sun-o: "\f185"; +@fa-var-superscript: "\f12b"; +@fa-var-support: "\f1cd"; +@fa-var-table: "\f0ce"; +@fa-var-tablet: "\f10a"; +@fa-var-tachometer: "\f0e4"; +@fa-var-tag: "\f02b"; +@fa-var-tags: "\f02c"; +@fa-var-tasks: "\f0ae"; +@fa-var-taxi: "\f1ba"; +@fa-var-tencent-weibo: "\f1d5"; +@fa-var-terminal: "\f120"; +@fa-var-text-height: "\f034"; +@fa-var-text-width: "\f035"; +@fa-var-th: "\f00a"; +@fa-var-th-large: "\f009"; +@fa-var-th-list: "\f00b"; +@fa-var-thumb-tack: "\f08d"; +@fa-var-thumbs-down: "\f165"; +@fa-var-thumbs-o-down: "\f088"; +@fa-var-thumbs-o-up: "\f087"; +@fa-var-thumbs-up: "\f164"; +@fa-var-ticket: "\f145"; +@fa-var-times: "\f00d"; +@fa-var-times-circle: "\f057"; +@fa-var-times-circle-o: "\f05c"; +@fa-var-tint: "\f043"; +@fa-var-toggle-down: "\f150"; +@fa-var-toggle-left: "\f191"; +@fa-var-toggle-off: "\f204"; +@fa-var-toggle-on: "\f205"; +@fa-var-toggle-right: "\f152"; +@fa-var-toggle-up: "\f151"; +@fa-var-train: "\f238"; +@fa-var-transgender: "\f224"; +@fa-var-transgender-alt: "\f225"; +@fa-var-trash: "\f1f8"; +@fa-var-trash-o: "\f014"; +@fa-var-tree: "\f1bb"; +@fa-var-trello: "\f181"; +@fa-var-trophy: "\f091"; +@fa-var-truck: "\f0d1"; +@fa-var-try: "\f195"; +@fa-var-tty: "\f1e4"; +@fa-var-tumblr: "\f173"; +@fa-var-tumblr-square: "\f174"; +@fa-var-turkish-lira: "\f195"; +@fa-var-twitch: "\f1e8"; +@fa-var-twitter: "\f099"; +@fa-var-twitter-square: "\f081"; +@fa-var-umbrella: "\f0e9"; +@fa-var-underline: "\f0cd"; +@fa-var-undo: "\f0e2"; +@fa-var-university: "\f19c"; +@fa-var-unlink: "\f127"; +@fa-var-unlock: "\f09c"; +@fa-var-unlock-alt: "\f13e"; +@fa-var-unsorted: "\f0dc"; +@fa-var-upload: "\f093"; +@fa-var-usd: "\f155"; +@fa-var-user: "\f007"; +@fa-var-user-md: "\f0f0"; +@fa-var-user-plus: "\f234"; +@fa-var-user-secret: "\f21b"; +@fa-var-user-times: "\f235"; +@fa-var-users: "\f0c0"; +@fa-var-venus: "\f221"; +@fa-var-venus-double: "\f226"; +@fa-var-venus-mars: "\f228"; +@fa-var-viacoin: "\f237"; +@fa-var-video-camera: "\f03d"; +@fa-var-vimeo-square: "\f194"; +@fa-var-vine: "\f1ca"; +@fa-var-vk: "\f189"; +@fa-var-volume-down: "\f027"; +@fa-var-volume-off: "\f026"; +@fa-var-volume-up: "\f028"; +@fa-var-warning: "\f071"; +@fa-var-wechat: "\f1d7"; +@fa-var-weibo: "\f18a"; +@fa-var-weixin: "\f1d7"; +@fa-var-whatsapp: "\f232"; +@fa-var-wheelchair: "\f193"; +@fa-var-wifi: "\f1eb"; +@fa-var-windows: "\f17a"; +@fa-var-won: "\f159"; +@fa-var-wordpress: "\f19a"; +@fa-var-wrench: "\f0ad"; +@fa-var-xing: "\f168"; +@fa-var-xing-square: "\f169"; +@fa-var-yahoo: "\f19e"; +@fa-var-yelp: "\f1e9"; +@fa-var-yen: "\f157"; +@fa-var-youtube: "\f167"; +@fa-var-youtube-play: "\f16a"; +@fa-var-youtube-square: "\f166"; + diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_animated.scss b/presentation/contrib/font-awesome-4.3.0/scss/_animated.scss new file mode 100644 index 000000000..8a020dbff --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_animated.scss @@ -0,0 +1,34 @@ +// Spinning Icons +// -------------------------- + +.#{$fa-css-prefix}-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; +} + +.#{$fa-css-prefix}-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); +} + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(359deg); + transform: rotate(359deg); + } +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss b/presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss new file mode 100644 index 000000000..9d3fdf3a0 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss @@ -0,0 +1,16 @@ +// Bordered & Pulled +// ------------------------- + +.#{$fa-css-prefix}-border { + padding: .2em .25em .15em; + border: solid .08em $fa-border-color; + border-radius: .1em; +} + +.pull-right { float: right; } +.pull-left { float: left; } + +.#{$fa-css-prefix} { + &.pull-left { margin-right: .3em; } + &.pull-right { margin-left: .3em; } +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_core.scss b/presentation/contrib/font-awesome-4.3.0/scss/_core.scss new file mode 100644 index 000000000..5a2db9d56 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_core.scss @@ -0,0 +1,13 @@ +// Base Class Definition +// ------------------------- + +.#{$fa-css-prefix} { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); // ensures no half-pixel rendering in firefox + +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss b/presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss new file mode 100644 index 000000000..b221c9813 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss @@ -0,0 +1,6 @@ +// Fixed Width Icons +// ------------------------- +.#{$fa-css-prefix}-fw { + width: (18em / 14); + text-align: center; +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_icons.scss b/presentation/contrib/font-awesome-4.3.0/scss/_icons.scss new file mode 100644 index 000000000..fbcfe8123 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_icons.scss @@ -0,0 +1,596 @@ +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen + readers do not read off random characters that represent icons */ + +.#{$fa-css-prefix}-glass:before { content: $fa-var-glass; } +.#{$fa-css-prefix}-music:before { content: $fa-var-music; } +.#{$fa-css-prefix}-search:before { content: $fa-var-search; } +.#{$fa-css-prefix}-envelope-o:before { content: $fa-var-envelope-o; } +.#{$fa-css-prefix}-heart:before { content: $fa-var-heart; } +.#{$fa-css-prefix}-star:before { content: $fa-var-star; } +.#{$fa-css-prefix}-star-o:before { content: $fa-var-star-o; } +.#{$fa-css-prefix}-user:before { content: $fa-var-user; } +.#{$fa-css-prefix}-film:before { content: $fa-var-film; } +.#{$fa-css-prefix}-th-large:before { content: $fa-var-th-large; } +.#{$fa-css-prefix}-th:before { content: $fa-var-th; } +.#{$fa-css-prefix}-th-list:before { content: $fa-var-th-list; } +.#{$fa-css-prefix}-check:before { content: $fa-var-check; } +.#{$fa-css-prefix}-remove:before, +.#{$fa-css-prefix}-close:before, +.#{$fa-css-prefix}-times:before { content: $fa-var-times; } +.#{$fa-css-prefix}-search-plus:before { content: $fa-var-search-plus; } +.#{$fa-css-prefix}-search-minus:before { content: $fa-var-search-minus; } +.#{$fa-css-prefix}-power-off:before { content: $fa-var-power-off; } +.#{$fa-css-prefix}-signal:before { content: $fa-var-signal; } +.#{$fa-css-prefix}-gear:before, +.#{$fa-css-prefix}-cog:before { content: $fa-var-cog; } +.#{$fa-css-prefix}-trash-o:before { content: $fa-var-trash-o; } +.#{$fa-css-prefix}-home:before { content: $fa-var-home; } +.#{$fa-css-prefix}-file-o:before { content: $fa-var-file-o; } +.#{$fa-css-prefix}-clock-o:before { content: $fa-var-clock-o; } +.#{$fa-css-prefix}-road:before { content: $fa-var-road; } +.#{$fa-css-prefix}-download:before { content: $fa-var-download; } +.#{$fa-css-prefix}-arrow-circle-o-down:before { content: $fa-var-arrow-circle-o-down; } +.#{$fa-css-prefix}-arrow-circle-o-up:before { content: $fa-var-arrow-circle-o-up; } +.#{$fa-css-prefix}-inbox:before { content: $fa-var-inbox; } +.#{$fa-css-prefix}-play-circle-o:before { content: $fa-var-play-circle-o; } +.#{$fa-css-prefix}-rotate-right:before, +.#{$fa-css-prefix}-repeat:before { content: $fa-var-repeat; } +.#{$fa-css-prefix}-refresh:before { content: $fa-var-refresh; } +.#{$fa-css-prefix}-list-alt:before { content: $fa-var-list-alt; } +.#{$fa-css-prefix}-lock:before { content: $fa-var-lock; } +.#{$fa-css-prefix}-flag:before { content: $fa-var-flag; } +.#{$fa-css-prefix}-headphones:before { content: $fa-var-headphones; } +.#{$fa-css-prefix}-volume-off:before { content: $fa-var-volume-off; } +.#{$fa-css-prefix}-volume-down:before { content: $fa-var-volume-down; } +.#{$fa-css-prefix}-volume-up:before { content: $fa-var-volume-up; } +.#{$fa-css-prefix}-qrcode:before { content: $fa-var-qrcode; } +.#{$fa-css-prefix}-barcode:before { content: $fa-var-barcode; } +.#{$fa-css-prefix}-tag:before { content: $fa-var-tag; } +.#{$fa-css-prefix}-tags:before { content: $fa-var-tags; } +.#{$fa-css-prefix}-book:before { content: $fa-var-book; } +.#{$fa-css-prefix}-bookmark:before { content: $fa-var-bookmark; } +.#{$fa-css-prefix}-print:before { content: $fa-var-print; } +.#{$fa-css-prefix}-camera:before { content: $fa-var-camera; } +.#{$fa-css-prefix}-font:before { content: $fa-var-font; } +.#{$fa-css-prefix}-bold:before { content: $fa-var-bold; } +.#{$fa-css-prefix}-italic:before { content: $fa-var-italic; } +.#{$fa-css-prefix}-text-height:before { content: $fa-var-text-height; } +.#{$fa-css-prefix}-text-width:before { content: $fa-var-text-width; } +.#{$fa-css-prefix}-align-left:before { content: $fa-var-align-left; } +.#{$fa-css-prefix}-align-center:before { content: $fa-var-align-center; } +.#{$fa-css-prefix}-align-right:before { content: $fa-var-align-right; } +.#{$fa-css-prefix}-align-justify:before { content: $fa-var-align-justify; } +.#{$fa-css-prefix}-list:before { content: $fa-var-list; } +.#{$fa-css-prefix}-dedent:before, +.#{$fa-css-prefix}-outdent:before { content: $fa-var-outdent; } +.#{$fa-css-prefix}-indent:before { content: $fa-var-indent; } +.#{$fa-css-prefix}-video-camera:before { content: $fa-var-video-camera; } +.#{$fa-css-prefix}-photo:before, +.#{$fa-css-prefix}-image:before, +.#{$fa-css-prefix}-picture-o:before { content: $fa-var-picture-o; } +.#{$fa-css-prefix}-pencil:before { content: $fa-var-pencil; } +.#{$fa-css-prefix}-map-marker:before { content: $fa-var-map-marker; } +.#{$fa-css-prefix}-adjust:before { content: $fa-var-adjust; } +.#{$fa-css-prefix}-tint:before { content: $fa-var-tint; } +.#{$fa-css-prefix}-edit:before, +.#{$fa-css-prefix}-pencil-square-o:before { content: $fa-var-pencil-square-o; } +.#{$fa-css-prefix}-share-square-o:before { content: $fa-var-share-square-o; } +.#{$fa-css-prefix}-check-square-o:before { content: $fa-var-check-square-o; } +.#{$fa-css-prefix}-arrows:before { content: $fa-var-arrows; } +.#{$fa-css-prefix}-step-backward:before { content: $fa-var-step-backward; } +.#{$fa-css-prefix}-fast-backward:before { content: $fa-var-fast-backward; } +.#{$fa-css-prefix}-backward:before { content: $fa-var-backward; } +.#{$fa-css-prefix}-play:before { content: $fa-var-play; } +.#{$fa-css-prefix}-pause:before { content: $fa-var-pause; } +.#{$fa-css-prefix}-stop:before { content: $fa-var-stop; } +.#{$fa-css-prefix}-forward:before { content: $fa-var-forward; } +.#{$fa-css-prefix}-fast-forward:before { content: $fa-var-fast-forward; } +.#{$fa-css-prefix}-step-forward:before { content: $fa-var-step-forward; } +.#{$fa-css-prefix}-eject:before { content: $fa-var-eject; } +.#{$fa-css-prefix}-chevron-left:before { content: $fa-var-chevron-left; } +.#{$fa-css-prefix}-chevron-right:before { content: $fa-var-chevron-right; } +.#{$fa-css-prefix}-plus-circle:before { content: $fa-var-plus-circle; } +.#{$fa-css-prefix}-minus-circle:before { content: $fa-var-minus-circle; } +.#{$fa-css-prefix}-times-circle:before { content: $fa-var-times-circle; } +.#{$fa-css-prefix}-check-circle:before { content: $fa-var-check-circle; } +.#{$fa-css-prefix}-question-circle:before { content: $fa-var-question-circle; } +.#{$fa-css-prefix}-info-circle:before { content: $fa-var-info-circle; } +.#{$fa-css-prefix}-crosshairs:before { content: $fa-var-crosshairs; } +.#{$fa-css-prefix}-times-circle-o:before { content: $fa-var-times-circle-o; } +.#{$fa-css-prefix}-check-circle-o:before { content: $fa-var-check-circle-o; } +.#{$fa-css-prefix}-ban:before { content: $fa-var-ban; } +.#{$fa-css-prefix}-arrow-left:before { content: $fa-var-arrow-left; } +.#{$fa-css-prefix}-arrow-right:before { content: $fa-var-arrow-right; } +.#{$fa-css-prefix}-arrow-up:before { content: $fa-var-arrow-up; } +.#{$fa-css-prefix}-arrow-down:before { content: $fa-var-arrow-down; } +.#{$fa-css-prefix}-mail-forward:before, +.#{$fa-css-prefix}-share:before { content: $fa-var-share; } +.#{$fa-css-prefix}-expand:before { content: $fa-var-expand; } +.#{$fa-css-prefix}-compress:before { content: $fa-var-compress; } +.#{$fa-css-prefix}-plus:before { content: $fa-var-plus; } +.#{$fa-css-prefix}-minus:before { content: $fa-var-minus; } +.#{$fa-css-prefix}-asterisk:before { content: $fa-var-asterisk; } +.#{$fa-css-prefix}-exclamation-circle:before { content: $fa-var-exclamation-circle; } +.#{$fa-css-prefix}-gift:before { content: $fa-var-gift; } +.#{$fa-css-prefix}-leaf:before { content: $fa-var-leaf; } +.#{$fa-css-prefix}-fire:before { content: $fa-var-fire; } +.#{$fa-css-prefix}-eye:before { content: $fa-var-eye; } +.#{$fa-css-prefix}-eye-slash:before { content: $fa-var-eye-slash; } +.#{$fa-css-prefix}-warning:before, +.#{$fa-css-prefix}-exclamation-triangle:before { content: $fa-var-exclamation-triangle; } +.#{$fa-css-prefix}-plane:before { content: $fa-var-plane; } +.#{$fa-css-prefix}-calendar:before { content: $fa-var-calendar; } +.#{$fa-css-prefix}-random:before { content: $fa-var-random; } +.#{$fa-css-prefix}-comment:before { content: $fa-var-comment; } +.#{$fa-css-prefix}-magnet:before { content: $fa-var-magnet; } +.#{$fa-css-prefix}-chevron-up:before { content: $fa-var-chevron-up; } +.#{$fa-css-prefix}-chevron-down:before { content: $fa-var-chevron-down; } +.#{$fa-css-prefix}-retweet:before { content: $fa-var-retweet; } +.#{$fa-css-prefix}-shopping-cart:before { content: $fa-var-shopping-cart; } +.#{$fa-css-prefix}-folder:before { content: $fa-var-folder; } +.#{$fa-css-prefix}-folder-open:before { content: $fa-var-folder-open; } +.#{$fa-css-prefix}-arrows-v:before { content: $fa-var-arrows-v; } +.#{$fa-css-prefix}-arrows-h:before { content: $fa-var-arrows-h; } +.#{$fa-css-prefix}-bar-chart-o:before, +.#{$fa-css-prefix}-bar-chart:before { content: $fa-var-bar-chart; } +.#{$fa-css-prefix}-twitter-square:before { content: $fa-var-twitter-square; } +.#{$fa-css-prefix}-facebook-square:before { content: $fa-var-facebook-square; } +.#{$fa-css-prefix}-camera-retro:before { content: $fa-var-camera-retro; } +.#{$fa-css-prefix}-key:before { content: $fa-var-key; } +.#{$fa-css-prefix}-gears:before, +.#{$fa-css-prefix}-cogs:before { content: $fa-var-cogs; } +.#{$fa-css-prefix}-comments:before { content: $fa-var-comments; } +.#{$fa-css-prefix}-thumbs-o-up:before { content: $fa-var-thumbs-o-up; } +.#{$fa-css-prefix}-thumbs-o-down:before { content: $fa-var-thumbs-o-down; } +.#{$fa-css-prefix}-star-half:before { content: $fa-var-star-half; } +.#{$fa-css-prefix}-heart-o:before { content: $fa-var-heart-o; } +.#{$fa-css-prefix}-sign-out:before { content: $fa-var-sign-out; } +.#{$fa-css-prefix}-linkedin-square:before { content: $fa-var-linkedin-square; } +.#{$fa-css-prefix}-thumb-tack:before { content: $fa-var-thumb-tack; } +.#{$fa-css-prefix}-external-link:before { content: $fa-var-external-link; } +.#{$fa-css-prefix}-sign-in:before { content: $fa-var-sign-in; } +.#{$fa-css-prefix}-trophy:before { content: $fa-var-trophy; } +.#{$fa-css-prefix}-github-square:before { content: $fa-var-github-square; } +.#{$fa-css-prefix}-upload:before { content: $fa-var-upload; } +.#{$fa-css-prefix}-lemon-o:before { content: $fa-var-lemon-o; } +.#{$fa-css-prefix}-phone:before { content: $fa-var-phone; } +.#{$fa-css-prefix}-square-o:before { content: $fa-var-square-o; } +.#{$fa-css-prefix}-bookmark-o:before { content: $fa-var-bookmark-o; } +.#{$fa-css-prefix}-phone-square:before { content: $fa-var-phone-square; } +.#{$fa-css-prefix}-twitter:before { content: $fa-var-twitter; } +.#{$fa-css-prefix}-facebook-f:before, +.#{$fa-css-prefix}-facebook:before { content: $fa-var-facebook; } +.#{$fa-css-prefix}-github:before { content: $fa-var-github; } +.#{$fa-css-prefix}-unlock:before { content: $fa-var-unlock; } +.#{$fa-css-prefix}-credit-card:before { content: $fa-var-credit-card; } +.#{$fa-css-prefix}-rss:before { content: $fa-var-rss; } +.#{$fa-css-prefix}-hdd-o:before { content: $fa-var-hdd-o; } +.#{$fa-css-prefix}-bullhorn:before { content: $fa-var-bullhorn; } +.#{$fa-css-prefix}-bell:before { content: $fa-var-bell; } +.#{$fa-css-prefix}-certificate:before { content: $fa-var-certificate; } +.#{$fa-css-prefix}-hand-o-right:before { content: $fa-var-hand-o-right; } +.#{$fa-css-prefix}-hand-o-left:before { content: $fa-var-hand-o-left; } +.#{$fa-css-prefix}-hand-o-up:before { content: $fa-var-hand-o-up; } +.#{$fa-css-prefix}-hand-o-down:before { content: $fa-var-hand-o-down; } +.#{$fa-css-prefix}-arrow-circle-left:before { content: $fa-var-arrow-circle-left; } +.#{$fa-css-prefix}-arrow-circle-right:before { content: $fa-var-arrow-circle-right; } +.#{$fa-css-prefix}-arrow-circle-up:before { content: $fa-var-arrow-circle-up; } +.#{$fa-css-prefix}-arrow-circle-down:before { content: $fa-var-arrow-circle-down; } +.#{$fa-css-prefix}-globe:before { content: $fa-var-globe; } +.#{$fa-css-prefix}-wrench:before { content: $fa-var-wrench; } +.#{$fa-css-prefix}-tasks:before { content: $fa-var-tasks; } +.#{$fa-css-prefix}-filter:before { content: $fa-var-filter; } +.#{$fa-css-prefix}-briefcase:before { content: $fa-var-briefcase; } +.#{$fa-css-prefix}-arrows-alt:before { content: $fa-var-arrows-alt; } +.#{$fa-css-prefix}-group:before, +.#{$fa-css-prefix}-users:before { content: $fa-var-users; } +.#{$fa-css-prefix}-chain:before, +.#{$fa-css-prefix}-link:before { content: $fa-var-link; } +.#{$fa-css-prefix}-cloud:before { content: $fa-var-cloud; } +.#{$fa-css-prefix}-flask:before { content: $fa-var-flask; } +.#{$fa-css-prefix}-cut:before, +.#{$fa-css-prefix}-scissors:before { content: $fa-var-scissors; } +.#{$fa-css-prefix}-copy:before, +.#{$fa-css-prefix}-files-o:before { content: $fa-var-files-o; } +.#{$fa-css-prefix}-paperclip:before { content: $fa-var-paperclip; } +.#{$fa-css-prefix}-save:before, +.#{$fa-css-prefix}-floppy-o:before { content: $fa-var-floppy-o; } +.#{$fa-css-prefix}-square:before { content: $fa-var-square; } +.#{$fa-css-prefix}-navicon:before, +.#{$fa-css-prefix}-reorder:before, +.#{$fa-css-prefix}-bars:before { content: $fa-var-bars; } +.#{$fa-css-prefix}-list-ul:before { content: $fa-var-list-ul; } +.#{$fa-css-prefix}-list-ol:before { content: $fa-var-list-ol; } +.#{$fa-css-prefix}-strikethrough:before { content: $fa-var-strikethrough; } +.#{$fa-css-prefix}-underline:before { content: $fa-var-underline; } +.#{$fa-css-prefix}-table:before { content: $fa-var-table; } +.#{$fa-css-prefix}-magic:before { content: $fa-var-magic; } +.#{$fa-css-prefix}-truck:before { content: $fa-var-truck; } +.#{$fa-css-prefix}-pinterest:before { content: $fa-var-pinterest; } +.#{$fa-css-prefix}-pinterest-square:before { content: $fa-var-pinterest-square; } +.#{$fa-css-prefix}-google-plus-square:before { content: $fa-var-google-plus-square; } +.#{$fa-css-prefix}-google-plus:before { content: $fa-var-google-plus; } +.#{$fa-css-prefix}-money:before { content: $fa-var-money; } +.#{$fa-css-prefix}-caret-down:before { content: $fa-var-caret-down; } +.#{$fa-css-prefix}-caret-up:before { content: $fa-var-caret-up; } +.#{$fa-css-prefix}-caret-left:before { content: $fa-var-caret-left; } +.#{$fa-css-prefix}-caret-right:before { content: $fa-var-caret-right; } +.#{$fa-css-prefix}-columns:before { content: $fa-var-columns; } +.#{$fa-css-prefix}-unsorted:before, +.#{$fa-css-prefix}-sort:before { content: $fa-var-sort; } +.#{$fa-css-prefix}-sort-down:before, +.#{$fa-css-prefix}-sort-desc:before { content: $fa-var-sort-desc; } +.#{$fa-css-prefix}-sort-up:before, +.#{$fa-css-prefix}-sort-asc:before { content: $fa-var-sort-asc; } +.#{$fa-css-prefix}-envelope:before { content: $fa-var-envelope; } +.#{$fa-css-prefix}-linkedin:before { content: $fa-var-linkedin; } +.#{$fa-css-prefix}-rotate-left:before, +.#{$fa-css-prefix}-undo:before { content: $fa-var-undo; } +.#{$fa-css-prefix}-legal:before, +.#{$fa-css-prefix}-gavel:before { content: $fa-var-gavel; } +.#{$fa-css-prefix}-dashboard:before, +.#{$fa-css-prefix}-tachometer:before { content: $fa-var-tachometer; } +.#{$fa-css-prefix}-comment-o:before { content: $fa-var-comment-o; } +.#{$fa-css-prefix}-comments-o:before { content: $fa-var-comments-o; } +.#{$fa-css-prefix}-flash:before, +.#{$fa-css-prefix}-bolt:before { content: $fa-var-bolt; } +.#{$fa-css-prefix}-sitemap:before { content: $fa-var-sitemap; } +.#{$fa-css-prefix}-umbrella:before { content: $fa-var-umbrella; } +.#{$fa-css-prefix}-paste:before, +.#{$fa-css-prefix}-clipboard:before { content: $fa-var-clipboard; } +.#{$fa-css-prefix}-lightbulb-o:before { content: $fa-var-lightbulb-o; } +.#{$fa-css-prefix}-exchange:before { content: $fa-var-exchange; } +.#{$fa-css-prefix}-cloud-download:before { content: $fa-var-cloud-download; } +.#{$fa-css-prefix}-cloud-upload:before { content: $fa-var-cloud-upload; } +.#{$fa-css-prefix}-user-md:before { content: $fa-var-user-md; } +.#{$fa-css-prefix}-stethoscope:before { content: $fa-var-stethoscope; } +.#{$fa-css-prefix}-suitcase:before { content: $fa-var-suitcase; } +.#{$fa-css-prefix}-bell-o:before { content: $fa-var-bell-o; } +.#{$fa-css-prefix}-coffee:before { content: $fa-var-coffee; } +.#{$fa-css-prefix}-cutlery:before { content: $fa-var-cutlery; } +.#{$fa-css-prefix}-file-text-o:before { content: $fa-var-file-text-o; } +.#{$fa-css-prefix}-building-o:before { content: $fa-var-building-o; } +.#{$fa-css-prefix}-hospital-o:before { content: $fa-var-hospital-o; } +.#{$fa-css-prefix}-ambulance:before { content: $fa-var-ambulance; } +.#{$fa-css-prefix}-medkit:before { content: $fa-var-medkit; } +.#{$fa-css-prefix}-fighter-jet:before { content: $fa-var-fighter-jet; } +.#{$fa-css-prefix}-beer:before { content: $fa-var-beer; } +.#{$fa-css-prefix}-h-square:before { content: $fa-var-h-square; } +.#{$fa-css-prefix}-plus-square:before { content: $fa-var-plus-square; } +.#{$fa-css-prefix}-angle-double-left:before { content: $fa-var-angle-double-left; } +.#{$fa-css-prefix}-angle-double-right:before { content: $fa-var-angle-double-right; } +.#{$fa-css-prefix}-angle-double-up:before { content: $fa-var-angle-double-up; } +.#{$fa-css-prefix}-angle-double-down:before { content: $fa-var-angle-double-down; } +.#{$fa-css-prefix}-angle-left:before { content: $fa-var-angle-left; } +.#{$fa-css-prefix}-angle-right:before { content: $fa-var-angle-right; } +.#{$fa-css-prefix}-angle-up:before { content: $fa-var-angle-up; } +.#{$fa-css-prefix}-angle-down:before { content: $fa-var-angle-down; } +.#{$fa-css-prefix}-desktop:before { content: $fa-var-desktop; } +.#{$fa-css-prefix}-laptop:before { content: $fa-var-laptop; } +.#{$fa-css-prefix}-tablet:before { content: $fa-var-tablet; } +.#{$fa-css-prefix}-mobile-phone:before, +.#{$fa-css-prefix}-mobile:before { content: $fa-var-mobile; } +.#{$fa-css-prefix}-circle-o:before { content: $fa-var-circle-o; } +.#{$fa-css-prefix}-quote-left:before { content: $fa-var-quote-left; } +.#{$fa-css-prefix}-quote-right:before { content: $fa-var-quote-right; } +.#{$fa-css-prefix}-spinner:before { content: $fa-var-spinner; } +.#{$fa-css-prefix}-circle:before { content: $fa-var-circle; } +.#{$fa-css-prefix}-mail-reply:before, +.#{$fa-css-prefix}-reply:before { content: $fa-var-reply; } +.#{$fa-css-prefix}-github-alt:before { content: $fa-var-github-alt; } +.#{$fa-css-prefix}-folder-o:before { content: $fa-var-folder-o; } +.#{$fa-css-prefix}-folder-open-o:before { content: $fa-var-folder-open-o; } +.#{$fa-css-prefix}-smile-o:before { content: $fa-var-smile-o; } +.#{$fa-css-prefix}-frown-o:before { content: $fa-var-frown-o; } +.#{$fa-css-prefix}-meh-o:before { content: $fa-var-meh-o; } +.#{$fa-css-prefix}-gamepad:before { content: $fa-var-gamepad; } +.#{$fa-css-prefix}-keyboard-o:before { content: $fa-var-keyboard-o; } +.#{$fa-css-prefix}-flag-o:before { content: $fa-var-flag-o; } +.#{$fa-css-prefix}-flag-checkered:before { content: $fa-var-flag-checkered; } +.#{$fa-css-prefix}-terminal:before { content: $fa-var-terminal; } +.#{$fa-css-prefix}-code:before { content: $fa-var-code; } +.#{$fa-css-prefix}-mail-reply-all:before, +.#{$fa-css-prefix}-reply-all:before { content: $fa-var-reply-all; } +.#{$fa-css-prefix}-star-half-empty:before, +.#{$fa-css-prefix}-star-half-full:before, +.#{$fa-css-prefix}-star-half-o:before { content: $fa-var-star-half-o; } +.#{$fa-css-prefix}-location-arrow:before { content: $fa-var-location-arrow; } +.#{$fa-css-prefix}-crop:before { content: $fa-var-crop; } +.#{$fa-css-prefix}-code-fork:before { content: $fa-var-code-fork; } +.#{$fa-css-prefix}-unlink:before, +.#{$fa-css-prefix}-chain-broken:before { content: $fa-var-chain-broken; } +.#{$fa-css-prefix}-question:before { content: $fa-var-question; } +.#{$fa-css-prefix}-info:before { content: $fa-var-info; } +.#{$fa-css-prefix}-exclamation:before { content: $fa-var-exclamation; } +.#{$fa-css-prefix}-superscript:before { content: $fa-var-superscript; } +.#{$fa-css-prefix}-subscript:before { content: $fa-var-subscript; } +.#{$fa-css-prefix}-eraser:before { content: $fa-var-eraser; } +.#{$fa-css-prefix}-puzzle-piece:before { content: $fa-var-puzzle-piece; } +.#{$fa-css-prefix}-microphone:before { content: $fa-var-microphone; } +.#{$fa-css-prefix}-microphone-slash:before { content: $fa-var-microphone-slash; } +.#{$fa-css-prefix}-shield:before { content: $fa-var-shield; } +.#{$fa-css-prefix}-calendar-o:before { content: $fa-var-calendar-o; } +.#{$fa-css-prefix}-fire-extinguisher:before { content: $fa-var-fire-extinguisher; } +.#{$fa-css-prefix}-rocket:before { content: $fa-var-rocket; } +.#{$fa-css-prefix}-maxcdn:before { content: $fa-var-maxcdn; } +.#{$fa-css-prefix}-chevron-circle-left:before { content: $fa-var-chevron-circle-left; } +.#{$fa-css-prefix}-chevron-circle-right:before { content: $fa-var-chevron-circle-right; } +.#{$fa-css-prefix}-chevron-circle-up:before { content: $fa-var-chevron-circle-up; } +.#{$fa-css-prefix}-chevron-circle-down:before { content: $fa-var-chevron-circle-down; } +.#{$fa-css-prefix}-html5:before { content: $fa-var-html5; } +.#{$fa-css-prefix}-css3:before { content: $fa-var-css3; } +.#{$fa-css-prefix}-anchor:before { content: $fa-var-anchor; } +.#{$fa-css-prefix}-unlock-alt:before { content: $fa-var-unlock-alt; } +.#{$fa-css-prefix}-bullseye:before { content: $fa-var-bullseye; } +.#{$fa-css-prefix}-ellipsis-h:before { content: $fa-var-ellipsis-h; } +.#{$fa-css-prefix}-ellipsis-v:before { content: $fa-var-ellipsis-v; } +.#{$fa-css-prefix}-rss-square:before { content: $fa-var-rss-square; } +.#{$fa-css-prefix}-play-circle:before { content: $fa-var-play-circle; } +.#{$fa-css-prefix}-ticket:before { content: $fa-var-ticket; } +.#{$fa-css-prefix}-minus-square:before { content: $fa-var-minus-square; } +.#{$fa-css-prefix}-minus-square-o:before { content: $fa-var-minus-square-o; } +.#{$fa-css-prefix}-level-up:before { content: $fa-var-level-up; } +.#{$fa-css-prefix}-level-down:before { content: $fa-var-level-down; } +.#{$fa-css-prefix}-check-square:before { content: $fa-var-check-square; } +.#{$fa-css-prefix}-pencil-square:before { content: $fa-var-pencil-square; } +.#{$fa-css-prefix}-external-link-square:before { content: $fa-var-external-link-square; } +.#{$fa-css-prefix}-share-square:before { content: $fa-var-share-square; } +.#{$fa-css-prefix}-compass:before { content: $fa-var-compass; } +.#{$fa-css-prefix}-toggle-down:before, +.#{$fa-css-prefix}-caret-square-o-down:before { content: $fa-var-caret-square-o-down; } +.#{$fa-css-prefix}-toggle-up:before, +.#{$fa-css-prefix}-caret-square-o-up:before { content: $fa-var-caret-square-o-up; } +.#{$fa-css-prefix}-toggle-right:before, +.#{$fa-css-prefix}-caret-square-o-right:before { content: $fa-var-caret-square-o-right; } +.#{$fa-css-prefix}-euro:before, +.#{$fa-css-prefix}-eur:before { content: $fa-var-eur; } +.#{$fa-css-prefix}-gbp:before { content: $fa-var-gbp; } +.#{$fa-css-prefix}-dollar:before, +.#{$fa-css-prefix}-usd:before { content: $fa-var-usd; } +.#{$fa-css-prefix}-rupee:before, +.#{$fa-css-prefix}-inr:before { content: $fa-var-inr; } +.#{$fa-css-prefix}-cny:before, +.#{$fa-css-prefix}-rmb:before, +.#{$fa-css-prefix}-yen:before, +.#{$fa-css-prefix}-jpy:before { content: $fa-var-jpy; } +.#{$fa-css-prefix}-ruble:before, +.#{$fa-css-prefix}-rouble:before, +.#{$fa-css-prefix}-rub:before { content: $fa-var-rub; } +.#{$fa-css-prefix}-won:before, +.#{$fa-css-prefix}-krw:before { content: $fa-var-krw; } +.#{$fa-css-prefix}-bitcoin:before, +.#{$fa-css-prefix}-btc:before { content: $fa-var-btc; } +.#{$fa-css-prefix}-file:before { content: $fa-var-file; } +.#{$fa-css-prefix}-file-text:before { content: $fa-var-file-text; } +.#{$fa-css-prefix}-sort-alpha-asc:before { content: $fa-var-sort-alpha-asc; } +.#{$fa-css-prefix}-sort-alpha-desc:before { content: $fa-var-sort-alpha-desc; } +.#{$fa-css-prefix}-sort-amount-asc:before { content: $fa-var-sort-amount-asc; } +.#{$fa-css-prefix}-sort-amount-desc:before { content: $fa-var-sort-amount-desc; } +.#{$fa-css-prefix}-sort-numeric-asc:before { content: $fa-var-sort-numeric-asc; } +.#{$fa-css-prefix}-sort-numeric-desc:before { content: $fa-var-sort-numeric-desc; } +.#{$fa-css-prefix}-thumbs-up:before { content: $fa-var-thumbs-up; } +.#{$fa-css-prefix}-thumbs-down:before { content: $fa-var-thumbs-down; } +.#{$fa-css-prefix}-youtube-square:before { content: $fa-var-youtube-square; } +.#{$fa-css-prefix}-youtube:before { content: $fa-var-youtube; } +.#{$fa-css-prefix}-xing:before { content: $fa-var-xing; } +.#{$fa-css-prefix}-xing-square:before { content: $fa-var-xing-square; } +.#{$fa-css-prefix}-youtube-play:before { content: $fa-var-youtube-play; } +.#{$fa-css-prefix}-dropbox:before { content: $fa-var-dropbox; } +.#{$fa-css-prefix}-stack-overflow:before { content: $fa-var-stack-overflow; } +.#{$fa-css-prefix}-instagram:before { content: $fa-var-instagram; } +.#{$fa-css-prefix}-flickr:before { content: $fa-var-flickr; } +.#{$fa-css-prefix}-adn:before { content: $fa-var-adn; } +.#{$fa-css-prefix}-bitbucket:before { content: $fa-var-bitbucket; } +.#{$fa-css-prefix}-bitbucket-square:before { content: $fa-var-bitbucket-square; } +.#{$fa-css-prefix}-tumblr:before { content: $fa-var-tumblr; } +.#{$fa-css-prefix}-tumblr-square:before { content: $fa-var-tumblr-square; } +.#{$fa-css-prefix}-long-arrow-down:before { content: $fa-var-long-arrow-down; } +.#{$fa-css-prefix}-long-arrow-up:before { content: $fa-var-long-arrow-up; } +.#{$fa-css-prefix}-long-arrow-left:before { content: $fa-var-long-arrow-left; } +.#{$fa-css-prefix}-long-arrow-right:before { content: $fa-var-long-arrow-right; } +.#{$fa-css-prefix}-apple:before { content: $fa-var-apple; } +.#{$fa-css-prefix}-windows:before { content: $fa-var-windows; } +.#{$fa-css-prefix}-android:before { content: $fa-var-android; } +.#{$fa-css-prefix}-linux:before { content: $fa-var-linux; } +.#{$fa-css-prefix}-dribbble:before { content: $fa-var-dribbble; } +.#{$fa-css-prefix}-skype:before { content: $fa-var-skype; } +.#{$fa-css-prefix}-foursquare:before { content: $fa-var-foursquare; } +.#{$fa-css-prefix}-trello:before { content: $fa-var-trello; } +.#{$fa-css-prefix}-female:before { content: $fa-var-female; } +.#{$fa-css-prefix}-male:before { content: $fa-var-male; } +.#{$fa-css-prefix}-gittip:before, +.#{$fa-css-prefix}-gratipay:before { content: $fa-var-gratipay; } +.#{$fa-css-prefix}-sun-o:before { content: $fa-var-sun-o; } +.#{$fa-css-prefix}-moon-o:before { content: $fa-var-moon-o; } +.#{$fa-css-prefix}-archive:before { content: $fa-var-archive; } +.#{$fa-css-prefix}-bug:before { content: $fa-var-bug; } +.#{$fa-css-prefix}-vk:before { content: $fa-var-vk; } +.#{$fa-css-prefix}-weibo:before { content: $fa-var-weibo; } +.#{$fa-css-prefix}-renren:before { content: $fa-var-renren; } +.#{$fa-css-prefix}-pagelines:before { content: $fa-var-pagelines; } +.#{$fa-css-prefix}-stack-exchange:before { content: $fa-var-stack-exchange; } +.#{$fa-css-prefix}-arrow-circle-o-right:before { content: $fa-var-arrow-circle-o-right; } +.#{$fa-css-prefix}-arrow-circle-o-left:before { content: $fa-var-arrow-circle-o-left; } +.#{$fa-css-prefix}-toggle-left:before, +.#{$fa-css-prefix}-caret-square-o-left:before { content: $fa-var-caret-square-o-left; } +.#{$fa-css-prefix}-dot-circle-o:before { content: $fa-var-dot-circle-o; } +.#{$fa-css-prefix}-wheelchair:before { content: $fa-var-wheelchair; } +.#{$fa-css-prefix}-vimeo-square:before { content: $fa-var-vimeo-square; } +.#{$fa-css-prefix}-turkish-lira:before, +.#{$fa-css-prefix}-try:before { content: $fa-var-try; } +.#{$fa-css-prefix}-plus-square-o:before { content: $fa-var-plus-square-o; } +.#{$fa-css-prefix}-space-shuttle:before { content: $fa-var-space-shuttle; } +.#{$fa-css-prefix}-slack:before { content: $fa-var-slack; } +.#{$fa-css-prefix}-envelope-square:before { content: $fa-var-envelope-square; } +.#{$fa-css-prefix}-wordpress:before { content: $fa-var-wordpress; } +.#{$fa-css-prefix}-openid:before { content: $fa-var-openid; } +.#{$fa-css-prefix}-institution:before, +.#{$fa-css-prefix}-bank:before, +.#{$fa-css-prefix}-university:before { content: $fa-var-university; } +.#{$fa-css-prefix}-mortar-board:before, +.#{$fa-css-prefix}-graduation-cap:before { content: $fa-var-graduation-cap; } +.#{$fa-css-prefix}-yahoo:before { content: $fa-var-yahoo; } +.#{$fa-css-prefix}-google:before { content: $fa-var-google; } +.#{$fa-css-prefix}-reddit:before { content: $fa-var-reddit; } +.#{$fa-css-prefix}-reddit-square:before { content: $fa-var-reddit-square; } +.#{$fa-css-prefix}-stumbleupon-circle:before { content: $fa-var-stumbleupon-circle; } +.#{$fa-css-prefix}-stumbleupon:before { content: $fa-var-stumbleupon; } +.#{$fa-css-prefix}-delicious:before { content: $fa-var-delicious; } +.#{$fa-css-prefix}-digg:before { content: $fa-var-digg; } +.#{$fa-css-prefix}-pied-piper:before { content: $fa-var-pied-piper; } +.#{$fa-css-prefix}-pied-piper-alt:before { content: $fa-var-pied-piper-alt; } +.#{$fa-css-prefix}-drupal:before { content: $fa-var-drupal; } +.#{$fa-css-prefix}-joomla:before { content: $fa-var-joomla; } +.#{$fa-css-prefix}-language:before { content: $fa-var-language; } +.#{$fa-css-prefix}-fax:before { content: $fa-var-fax; } +.#{$fa-css-prefix}-building:before { content: $fa-var-building; } +.#{$fa-css-prefix}-child:before { content: $fa-var-child; } +.#{$fa-css-prefix}-paw:before { content: $fa-var-paw; } +.#{$fa-css-prefix}-spoon:before { content: $fa-var-spoon; } +.#{$fa-css-prefix}-cube:before { content: $fa-var-cube; } +.#{$fa-css-prefix}-cubes:before { content: $fa-var-cubes; } +.#{$fa-css-prefix}-behance:before { content: $fa-var-behance; } +.#{$fa-css-prefix}-behance-square:before { content: $fa-var-behance-square; } +.#{$fa-css-prefix}-steam:before { content: $fa-var-steam; } +.#{$fa-css-prefix}-steam-square:before { content: $fa-var-steam-square; } +.#{$fa-css-prefix}-recycle:before { content: $fa-var-recycle; } +.#{$fa-css-prefix}-automobile:before, +.#{$fa-css-prefix}-car:before { content: $fa-var-car; } +.#{$fa-css-prefix}-cab:before, +.#{$fa-css-prefix}-taxi:before { content: $fa-var-taxi; } +.#{$fa-css-prefix}-tree:before { content: $fa-var-tree; } +.#{$fa-css-prefix}-spotify:before { content: $fa-var-spotify; } +.#{$fa-css-prefix}-deviantart:before { content: $fa-var-deviantart; } +.#{$fa-css-prefix}-soundcloud:before { content: $fa-var-soundcloud; } +.#{$fa-css-prefix}-database:before { content: $fa-var-database; } +.#{$fa-css-prefix}-file-pdf-o:before { content: $fa-var-file-pdf-o; } +.#{$fa-css-prefix}-file-word-o:before { content: $fa-var-file-word-o; } +.#{$fa-css-prefix}-file-excel-o:before { content: $fa-var-file-excel-o; } +.#{$fa-css-prefix}-file-powerpoint-o:before { content: $fa-var-file-powerpoint-o; } +.#{$fa-css-prefix}-file-photo-o:before, +.#{$fa-css-prefix}-file-picture-o:before, +.#{$fa-css-prefix}-file-image-o:before { content: $fa-var-file-image-o; } +.#{$fa-css-prefix}-file-zip-o:before, +.#{$fa-css-prefix}-file-archive-o:before { content: $fa-var-file-archive-o; } +.#{$fa-css-prefix}-file-sound-o:before, +.#{$fa-css-prefix}-file-audio-o:before { content: $fa-var-file-audio-o; } +.#{$fa-css-prefix}-file-movie-o:before, +.#{$fa-css-prefix}-file-video-o:before { content: $fa-var-file-video-o; } +.#{$fa-css-prefix}-file-code-o:before { content: $fa-var-file-code-o; } +.#{$fa-css-prefix}-vine:before { content: $fa-var-vine; } +.#{$fa-css-prefix}-codepen:before { content: $fa-var-codepen; } +.#{$fa-css-prefix}-jsfiddle:before { content: $fa-var-jsfiddle; } +.#{$fa-css-prefix}-life-bouy:before, +.#{$fa-css-prefix}-life-buoy:before, +.#{$fa-css-prefix}-life-saver:before, +.#{$fa-css-prefix}-support:before, +.#{$fa-css-prefix}-life-ring:before { content: $fa-var-life-ring; } +.#{$fa-css-prefix}-circle-o-notch:before { content: $fa-var-circle-o-notch; } +.#{$fa-css-prefix}-ra:before, +.#{$fa-css-prefix}-rebel:before { content: $fa-var-rebel; } +.#{$fa-css-prefix}-ge:before, +.#{$fa-css-prefix}-empire:before { content: $fa-var-empire; } +.#{$fa-css-prefix}-git-square:before { content: $fa-var-git-square; } +.#{$fa-css-prefix}-git:before { content: $fa-var-git; } +.#{$fa-css-prefix}-hacker-news:before { content: $fa-var-hacker-news; } +.#{$fa-css-prefix}-tencent-weibo:before { content: $fa-var-tencent-weibo; } +.#{$fa-css-prefix}-qq:before { content: $fa-var-qq; } +.#{$fa-css-prefix}-wechat:before, +.#{$fa-css-prefix}-weixin:before { content: $fa-var-weixin; } +.#{$fa-css-prefix}-send:before, +.#{$fa-css-prefix}-paper-plane:before { content: $fa-var-paper-plane; } +.#{$fa-css-prefix}-send-o:before, +.#{$fa-css-prefix}-paper-plane-o:before { content: $fa-var-paper-plane-o; } +.#{$fa-css-prefix}-history:before { content: $fa-var-history; } +.#{$fa-css-prefix}-genderless:before, +.#{$fa-css-prefix}-circle-thin:before { content: $fa-var-circle-thin; } +.#{$fa-css-prefix}-header:before { content: $fa-var-header; } +.#{$fa-css-prefix}-paragraph:before { content: $fa-var-paragraph; } +.#{$fa-css-prefix}-sliders:before { content: $fa-var-sliders; } +.#{$fa-css-prefix}-share-alt:before { content: $fa-var-share-alt; } +.#{$fa-css-prefix}-share-alt-square:before { content: $fa-var-share-alt-square; } +.#{$fa-css-prefix}-bomb:before { content: $fa-var-bomb; } +.#{$fa-css-prefix}-soccer-ball-o:before, +.#{$fa-css-prefix}-futbol-o:before { content: $fa-var-futbol-o; } +.#{$fa-css-prefix}-tty:before { content: $fa-var-tty; } +.#{$fa-css-prefix}-binoculars:before { content: $fa-var-binoculars; } +.#{$fa-css-prefix}-plug:before { content: $fa-var-plug; } +.#{$fa-css-prefix}-slideshare:before { content: $fa-var-slideshare; } +.#{$fa-css-prefix}-twitch:before { content: $fa-var-twitch; } +.#{$fa-css-prefix}-yelp:before { content: $fa-var-yelp; } +.#{$fa-css-prefix}-newspaper-o:before { content: $fa-var-newspaper-o; } +.#{$fa-css-prefix}-wifi:before { content: $fa-var-wifi; } +.#{$fa-css-prefix}-calculator:before { content: $fa-var-calculator; } +.#{$fa-css-prefix}-paypal:before { content: $fa-var-paypal; } +.#{$fa-css-prefix}-google-wallet:before { content: $fa-var-google-wallet; } +.#{$fa-css-prefix}-cc-visa:before { content: $fa-var-cc-visa; } +.#{$fa-css-prefix}-cc-mastercard:before { content: $fa-var-cc-mastercard; } +.#{$fa-css-prefix}-cc-discover:before { content: $fa-var-cc-discover; } +.#{$fa-css-prefix}-cc-amex:before { content: $fa-var-cc-amex; } +.#{$fa-css-prefix}-cc-paypal:before { content: $fa-var-cc-paypal; } +.#{$fa-css-prefix}-cc-stripe:before { content: $fa-var-cc-stripe; } +.#{$fa-css-prefix}-bell-slash:before { content: $fa-var-bell-slash; } +.#{$fa-css-prefix}-bell-slash-o:before { content: $fa-var-bell-slash-o; } +.#{$fa-css-prefix}-trash:before { content: $fa-var-trash; } +.#{$fa-css-prefix}-copyright:before { content: $fa-var-copyright; } +.#{$fa-css-prefix}-at:before { content: $fa-var-at; } +.#{$fa-css-prefix}-eyedropper:before { content: $fa-var-eyedropper; } +.#{$fa-css-prefix}-paint-brush:before { content: $fa-var-paint-brush; } +.#{$fa-css-prefix}-birthday-cake:before { content: $fa-var-birthday-cake; } +.#{$fa-css-prefix}-area-chart:before { content: $fa-var-area-chart; } +.#{$fa-css-prefix}-pie-chart:before { content: $fa-var-pie-chart; } +.#{$fa-css-prefix}-line-chart:before { content: $fa-var-line-chart; } +.#{$fa-css-prefix}-lastfm:before { content: $fa-var-lastfm; } +.#{$fa-css-prefix}-lastfm-square:before { content: $fa-var-lastfm-square; } +.#{$fa-css-prefix}-toggle-off:before { content: $fa-var-toggle-off; } +.#{$fa-css-prefix}-toggle-on:before { content: $fa-var-toggle-on; } +.#{$fa-css-prefix}-bicycle:before { content: $fa-var-bicycle; } +.#{$fa-css-prefix}-bus:before { content: $fa-var-bus; } +.#{$fa-css-prefix}-ioxhost:before { content: $fa-var-ioxhost; } +.#{$fa-css-prefix}-angellist:before { content: $fa-var-angellist; } +.#{$fa-css-prefix}-cc:before { content: $fa-var-cc; } +.#{$fa-css-prefix}-shekel:before, +.#{$fa-css-prefix}-sheqel:before, +.#{$fa-css-prefix}-ils:before { content: $fa-var-ils; } +.#{$fa-css-prefix}-meanpath:before { content: $fa-var-meanpath; } +.#{$fa-css-prefix}-buysellads:before { content: $fa-var-buysellads; } +.#{$fa-css-prefix}-connectdevelop:before { content: $fa-var-connectdevelop; } +.#{$fa-css-prefix}-dashcube:before { content: $fa-var-dashcube; } +.#{$fa-css-prefix}-forumbee:before { content: $fa-var-forumbee; } +.#{$fa-css-prefix}-leanpub:before { content: $fa-var-leanpub; } +.#{$fa-css-prefix}-sellsy:before { content: $fa-var-sellsy; } +.#{$fa-css-prefix}-shirtsinbulk:before { content: $fa-var-shirtsinbulk; } +.#{$fa-css-prefix}-simplybuilt:before { content: $fa-var-simplybuilt; } +.#{$fa-css-prefix}-skyatlas:before { content: $fa-var-skyatlas; } +.#{$fa-css-prefix}-cart-plus:before { content: $fa-var-cart-plus; } +.#{$fa-css-prefix}-cart-arrow-down:before { content: $fa-var-cart-arrow-down; } +.#{$fa-css-prefix}-diamond:before { content: $fa-var-diamond; } +.#{$fa-css-prefix}-ship:before { content: $fa-var-ship; } +.#{$fa-css-prefix}-user-secret:before { content: $fa-var-user-secret; } +.#{$fa-css-prefix}-motorcycle:before { content: $fa-var-motorcycle; } +.#{$fa-css-prefix}-street-view:before { content: $fa-var-street-view; } +.#{$fa-css-prefix}-heartbeat:before { content: $fa-var-heartbeat; } +.#{$fa-css-prefix}-venus:before { content: $fa-var-venus; } +.#{$fa-css-prefix}-mars:before { content: $fa-var-mars; } +.#{$fa-css-prefix}-mercury:before { content: $fa-var-mercury; } +.#{$fa-css-prefix}-transgender:before { content: $fa-var-transgender; } +.#{$fa-css-prefix}-transgender-alt:before { content: $fa-var-transgender-alt; } +.#{$fa-css-prefix}-venus-double:before { content: $fa-var-venus-double; } +.#{$fa-css-prefix}-mars-double:before { content: $fa-var-mars-double; } +.#{$fa-css-prefix}-venus-mars:before { content: $fa-var-venus-mars; } +.#{$fa-css-prefix}-mars-stroke:before { content: $fa-var-mars-stroke; } +.#{$fa-css-prefix}-mars-stroke-v:before { content: $fa-var-mars-stroke-v; } +.#{$fa-css-prefix}-mars-stroke-h:before { content: $fa-var-mars-stroke-h; } +.#{$fa-css-prefix}-neuter:before { content: $fa-var-neuter; } +.#{$fa-css-prefix}-facebook-official:before { content: $fa-var-facebook-official; } +.#{$fa-css-prefix}-pinterest-p:before { content: $fa-var-pinterest-p; } +.#{$fa-css-prefix}-whatsapp:before { content: $fa-var-whatsapp; } +.#{$fa-css-prefix}-server:before { content: $fa-var-server; } +.#{$fa-css-prefix}-user-plus:before { content: $fa-var-user-plus; } +.#{$fa-css-prefix}-user-times:before { content: $fa-var-user-times; } +.#{$fa-css-prefix}-hotel:before, +.#{$fa-css-prefix}-bed:before { content: $fa-var-bed; } +.#{$fa-css-prefix}-viacoin:before { content: $fa-var-viacoin; } +.#{$fa-css-prefix}-train:before { content: $fa-var-train; } +.#{$fa-css-prefix}-subway:before { content: $fa-var-subway; } +.#{$fa-css-prefix}-medium:before { content: $fa-var-medium; } diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_larger.scss b/presentation/contrib/font-awesome-4.3.0/scss/_larger.scss new file mode 100644 index 000000000..41e9a8184 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_larger.scss @@ -0,0 +1,13 @@ +// Icon Sizes +// ------------------------- + +/* makes the font 33% larger relative to the icon container */ +.#{$fa-css-prefix}-lg { + font-size: (4em / 3); + line-height: (3em / 4); + vertical-align: -15%; +} +.#{$fa-css-prefix}-2x { font-size: 2em; } +.#{$fa-css-prefix}-3x { font-size: 3em; } +.#{$fa-css-prefix}-4x { font-size: 4em; } +.#{$fa-css-prefix}-5x { font-size: 5em; } diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_list.scss b/presentation/contrib/font-awesome-4.3.0/scss/_list.scss new file mode 100644 index 000000000..7d1e4d54d --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_list.scss @@ -0,0 +1,19 @@ +// List Icons +// ------------------------- + +.#{$fa-css-prefix}-ul { + padding-left: 0; + margin-left: $fa-li-width; + list-style-type: none; + > li { position: relative; } +} +.#{$fa-css-prefix}-li { + position: absolute; + left: -$fa-li-width; + width: $fa-li-width; + top: (2em / 14); + text-align: center; + &.#{$fa-css-prefix}-lg { + left: -$fa-li-width + (4em / 14); + } +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss b/presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss new file mode 100644 index 000000000..6b7f16093 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss @@ -0,0 +1,27 @@ +// Mixins +// -------------------------- + +@mixin fa-icon() { + display: inline-block; + font: normal normal normal #{$fa-font-size-base}/1 FontAwesome; // shortening font declaration + font-size: inherit; // can't have font-size inherit on line above, so need to override + text-rendering: auto; // optimizelegibility throws things off #1094 + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + transform: translate(0, 0); // ensures no half-pixel rendering in firefox + +} + +@mixin fa-icon-rotate($degrees, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -webkit-transform: rotate($degrees); + -ms-transform: rotate($degrees); + transform: rotate($degrees); +} + +@mixin fa-icon-flip($horiz, $vert, $rotation) { + filter: progid:DXImageTransform.Microsoft.BasicImage(rotation=#{$rotation}); + -webkit-transform: scale($horiz, $vert); + -ms-transform: scale($horiz, $vert); + transform: scale($horiz, $vert); +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_path.scss b/presentation/contrib/font-awesome-4.3.0/scss/_path.scss new file mode 100644 index 000000000..bb457c23a --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_path.scss @@ -0,0 +1,15 @@ +/* FONT PATH + * -------------------------- */ + +@font-face { + font-family: 'FontAwesome'; + src: url('#{$fa-font-path}/fontawesome-webfont.eot?v=#{$fa-version}'); + src: url('#{$fa-font-path}/fontawesome-webfont.eot?#iefix&v=#{$fa-version}') format('embedded-opentype'), + url('#{$fa-font-path}/fontawesome-webfont.woff2?v=#{$fa-version}') format('woff2'), + url('#{$fa-font-path}/fontawesome-webfont.woff?v=#{$fa-version}') format('woff'), + url('#{$fa-font-path}/fontawesome-webfont.ttf?v=#{$fa-version}') format('truetype'), + url('#{$fa-font-path}/fontawesome-webfont.svg?v=#{$fa-version}#fontawesomeregular') format('svg'); +// src: url('#{$fa-font-path}/FontAwesome.otf') format('opentype'); // used when developing fonts + font-weight: normal; + font-style: normal; +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss b/presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss new file mode 100644 index 000000000..a3558fd09 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss @@ -0,0 +1,20 @@ +// Rotated & Flipped Icons +// ------------------------- + +.#{$fa-css-prefix}-rotate-90 { @include fa-icon-rotate(90deg, 1); } +.#{$fa-css-prefix}-rotate-180 { @include fa-icon-rotate(180deg, 2); } +.#{$fa-css-prefix}-rotate-270 { @include fa-icon-rotate(270deg, 3); } + +.#{$fa-css-prefix}-flip-horizontal { @include fa-icon-flip(-1, 1, 0); } +.#{$fa-css-prefix}-flip-vertical { @include fa-icon-flip(1, -1, 2); } + +// Hook for IE8-9 +// ------------------------- + +:root .#{$fa-css-prefix}-rotate-90, +:root .#{$fa-css-prefix}-rotate-180, +:root .#{$fa-css-prefix}-rotate-270, +:root .#{$fa-css-prefix}-flip-horizontal, +:root .#{$fa-css-prefix}-flip-vertical { + filter: none; +} diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss b/presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss new file mode 100644 index 000000000..aef740366 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss @@ -0,0 +1,20 @@ +// Stacked Icons +// ------------------------- + +.#{$fa-css-prefix}-stack { + position: relative; + display: inline-block; + width: 2em; + height: 2em; + line-height: 2em; + vertical-align: middle; +} +.#{$fa-css-prefix}-stack-1x, .#{$fa-css-prefix}-stack-2x { + position: absolute; + left: 0; + width: 100%; + text-align: center; +} +.#{$fa-css-prefix}-stack-1x { line-height: inherit; } +.#{$fa-css-prefix}-stack-2x { font-size: 2em; } +.#{$fa-css-prefix}-inverse { color: $fa-inverse; } diff --git a/presentation/contrib/font-awesome-4.3.0/scss/_variables.scss b/presentation/contrib/font-awesome-4.3.0/scss/_variables.scss new file mode 100644 index 000000000..9b7210e23 --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/_variables.scss @@ -0,0 +1,606 @@ +// Variables +// -------------------------- + +$fa-font-path: "../fonts" !default; +$fa-font-size-base: 14px !default; +//$fa-font-path: "//netdna.bootstrapcdn.com/font-awesome/4.3.0/fonts" !default; // for referencing Bootstrap CDN font files directly +$fa-css-prefix: fa !default; +$fa-version: "4.3.0" !default; +$fa-border-color: #eee !default; +$fa-inverse: #fff !default; +$fa-li-width: (30em / 14) !default; + +$fa-var-adjust: "\f042"; +$fa-var-adn: "\f170"; +$fa-var-align-center: "\f037"; +$fa-var-align-justify: "\f039"; +$fa-var-align-left: "\f036"; +$fa-var-align-right: "\f038"; +$fa-var-ambulance: "\f0f9"; +$fa-var-anchor: "\f13d"; +$fa-var-android: "\f17b"; +$fa-var-angellist: "\f209"; +$fa-var-angle-double-down: "\f103"; +$fa-var-angle-double-left: "\f100"; +$fa-var-angle-double-right: "\f101"; +$fa-var-angle-double-up: "\f102"; +$fa-var-angle-down: "\f107"; +$fa-var-angle-left: "\f104"; +$fa-var-angle-right: "\f105"; +$fa-var-angle-up: "\f106"; +$fa-var-apple: "\f179"; +$fa-var-archive: "\f187"; +$fa-var-area-chart: "\f1fe"; +$fa-var-arrow-circle-down: "\f0ab"; +$fa-var-arrow-circle-left: "\f0a8"; +$fa-var-arrow-circle-o-down: "\f01a"; +$fa-var-arrow-circle-o-left: "\f190"; +$fa-var-arrow-circle-o-right: "\f18e"; +$fa-var-arrow-circle-o-up: "\f01b"; +$fa-var-arrow-circle-right: "\f0a9"; +$fa-var-arrow-circle-up: "\f0aa"; +$fa-var-arrow-down: "\f063"; +$fa-var-arrow-left: "\f060"; +$fa-var-arrow-right: "\f061"; +$fa-var-arrow-up: "\f062"; +$fa-var-arrows: "\f047"; +$fa-var-arrows-alt: "\f0b2"; +$fa-var-arrows-h: "\f07e"; +$fa-var-arrows-v: "\f07d"; +$fa-var-asterisk: "\f069"; +$fa-var-at: "\f1fa"; +$fa-var-automobile: "\f1b9"; +$fa-var-backward: "\f04a"; +$fa-var-ban: "\f05e"; +$fa-var-bank: "\f19c"; +$fa-var-bar-chart: "\f080"; +$fa-var-bar-chart-o: "\f080"; +$fa-var-barcode: "\f02a"; +$fa-var-bars: "\f0c9"; +$fa-var-bed: "\f236"; +$fa-var-beer: "\f0fc"; +$fa-var-behance: "\f1b4"; +$fa-var-behance-square: "\f1b5"; +$fa-var-bell: "\f0f3"; +$fa-var-bell-o: "\f0a2"; +$fa-var-bell-slash: "\f1f6"; +$fa-var-bell-slash-o: "\f1f7"; +$fa-var-bicycle: "\f206"; +$fa-var-binoculars: "\f1e5"; +$fa-var-birthday-cake: "\f1fd"; +$fa-var-bitbucket: "\f171"; +$fa-var-bitbucket-square: "\f172"; +$fa-var-bitcoin: "\f15a"; +$fa-var-bold: "\f032"; +$fa-var-bolt: "\f0e7"; +$fa-var-bomb: "\f1e2"; +$fa-var-book: "\f02d"; +$fa-var-bookmark: "\f02e"; +$fa-var-bookmark-o: "\f097"; +$fa-var-briefcase: "\f0b1"; +$fa-var-btc: "\f15a"; +$fa-var-bug: "\f188"; +$fa-var-building: "\f1ad"; +$fa-var-building-o: "\f0f7"; +$fa-var-bullhorn: "\f0a1"; +$fa-var-bullseye: "\f140"; +$fa-var-bus: "\f207"; +$fa-var-buysellads: "\f20d"; +$fa-var-cab: "\f1ba"; +$fa-var-calculator: "\f1ec"; +$fa-var-calendar: "\f073"; +$fa-var-calendar-o: "\f133"; +$fa-var-camera: "\f030"; +$fa-var-camera-retro: "\f083"; +$fa-var-car: "\f1b9"; +$fa-var-caret-down: "\f0d7"; +$fa-var-caret-left: "\f0d9"; +$fa-var-caret-right: "\f0da"; +$fa-var-caret-square-o-down: "\f150"; +$fa-var-caret-square-o-left: "\f191"; +$fa-var-caret-square-o-right: "\f152"; +$fa-var-caret-square-o-up: "\f151"; +$fa-var-caret-up: "\f0d8"; +$fa-var-cart-arrow-down: "\f218"; +$fa-var-cart-plus: "\f217"; +$fa-var-cc: "\f20a"; +$fa-var-cc-amex: "\f1f3"; +$fa-var-cc-discover: "\f1f2"; +$fa-var-cc-mastercard: "\f1f1"; +$fa-var-cc-paypal: "\f1f4"; +$fa-var-cc-stripe: "\f1f5"; +$fa-var-cc-visa: "\f1f0"; +$fa-var-certificate: "\f0a3"; +$fa-var-chain: "\f0c1"; +$fa-var-chain-broken: "\f127"; +$fa-var-check: "\f00c"; +$fa-var-check-circle: "\f058"; +$fa-var-check-circle-o: "\f05d"; +$fa-var-check-square: "\f14a"; +$fa-var-check-square-o: "\f046"; +$fa-var-chevron-circle-down: "\f13a"; +$fa-var-chevron-circle-left: "\f137"; +$fa-var-chevron-circle-right: "\f138"; +$fa-var-chevron-circle-up: "\f139"; +$fa-var-chevron-down: "\f078"; +$fa-var-chevron-left: "\f053"; +$fa-var-chevron-right: "\f054"; +$fa-var-chevron-up: "\f077"; +$fa-var-child: "\f1ae"; +$fa-var-circle: "\f111"; +$fa-var-circle-o: "\f10c"; +$fa-var-circle-o-notch: "\f1ce"; +$fa-var-circle-thin: "\f1db"; +$fa-var-clipboard: "\f0ea"; +$fa-var-clock-o: "\f017"; +$fa-var-close: "\f00d"; +$fa-var-cloud: "\f0c2"; +$fa-var-cloud-download: "\f0ed"; +$fa-var-cloud-upload: "\f0ee"; +$fa-var-cny: "\f157"; +$fa-var-code: "\f121"; +$fa-var-code-fork: "\f126"; +$fa-var-codepen: "\f1cb"; +$fa-var-coffee: "\f0f4"; +$fa-var-cog: "\f013"; +$fa-var-cogs: "\f085"; +$fa-var-columns: "\f0db"; +$fa-var-comment: "\f075"; +$fa-var-comment-o: "\f0e5"; +$fa-var-comments: "\f086"; +$fa-var-comments-o: "\f0e6"; +$fa-var-compass: "\f14e"; +$fa-var-compress: "\f066"; +$fa-var-connectdevelop: "\f20e"; +$fa-var-copy: "\f0c5"; +$fa-var-copyright: "\f1f9"; +$fa-var-credit-card: "\f09d"; +$fa-var-crop: "\f125"; +$fa-var-crosshairs: "\f05b"; +$fa-var-css3: "\f13c"; +$fa-var-cube: "\f1b2"; +$fa-var-cubes: "\f1b3"; +$fa-var-cut: "\f0c4"; +$fa-var-cutlery: "\f0f5"; +$fa-var-dashboard: "\f0e4"; +$fa-var-dashcube: "\f210"; +$fa-var-database: "\f1c0"; +$fa-var-dedent: "\f03b"; +$fa-var-delicious: "\f1a5"; +$fa-var-desktop: "\f108"; +$fa-var-deviantart: "\f1bd"; +$fa-var-diamond: "\f219"; +$fa-var-digg: "\f1a6"; +$fa-var-dollar: "\f155"; +$fa-var-dot-circle-o: "\f192"; +$fa-var-download: "\f019"; +$fa-var-dribbble: "\f17d"; +$fa-var-dropbox: "\f16b"; +$fa-var-drupal: "\f1a9"; +$fa-var-edit: "\f044"; +$fa-var-eject: "\f052"; +$fa-var-ellipsis-h: "\f141"; +$fa-var-ellipsis-v: "\f142"; +$fa-var-empire: "\f1d1"; +$fa-var-envelope: "\f0e0"; +$fa-var-envelope-o: "\f003"; +$fa-var-envelope-square: "\f199"; +$fa-var-eraser: "\f12d"; +$fa-var-eur: "\f153"; +$fa-var-euro: "\f153"; +$fa-var-exchange: "\f0ec"; +$fa-var-exclamation: "\f12a"; +$fa-var-exclamation-circle: "\f06a"; +$fa-var-exclamation-triangle: "\f071"; +$fa-var-expand: "\f065"; +$fa-var-external-link: "\f08e"; +$fa-var-external-link-square: "\f14c"; +$fa-var-eye: "\f06e"; +$fa-var-eye-slash: "\f070"; +$fa-var-eyedropper: "\f1fb"; +$fa-var-facebook: "\f09a"; +$fa-var-facebook-f: "\f09a"; +$fa-var-facebook-official: "\f230"; +$fa-var-facebook-square: "\f082"; +$fa-var-fast-backward: "\f049"; +$fa-var-fast-forward: "\f050"; +$fa-var-fax: "\f1ac"; +$fa-var-female: "\f182"; +$fa-var-fighter-jet: "\f0fb"; +$fa-var-file: "\f15b"; +$fa-var-file-archive-o: "\f1c6"; +$fa-var-file-audio-o: "\f1c7"; +$fa-var-file-code-o: "\f1c9"; +$fa-var-file-excel-o: "\f1c3"; +$fa-var-file-image-o: "\f1c5"; +$fa-var-file-movie-o: "\f1c8"; +$fa-var-file-o: "\f016"; +$fa-var-file-pdf-o: "\f1c1"; +$fa-var-file-photo-o: "\f1c5"; +$fa-var-file-picture-o: "\f1c5"; +$fa-var-file-powerpoint-o: "\f1c4"; +$fa-var-file-sound-o: "\f1c7"; +$fa-var-file-text: "\f15c"; +$fa-var-file-text-o: "\f0f6"; +$fa-var-file-video-o: "\f1c8"; +$fa-var-file-word-o: "\f1c2"; +$fa-var-file-zip-o: "\f1c6"; +$fa-var-files-o: "\f0c5"; +$fa-var-film: "\f008"; +$fa-var-filter: "\f0b0"; +$fa-var-fire: "\f06d"; +$fa-var-fire-extinguisher: "\f134"; +$fa-var-flag: "\f024"; +$fa-var-flag-checkered: "\f11e"; +$fa-var-flag-o: "\f11d"; +$fa-var-flash: "\f0e7"; +$fa-var-flask: "\f0c3"; +$fa-var-flickr: "\f16e"; +$fa-var-floppy-o: "\f0c7"; +$fa-var-folder: "\f07b"; +$fa-var-folder-o: "\f114"; +$fa-var-folder-open: "\f07c"; +$fa-var-folder-open-o: "\f115"; +$fa-var-font: "\f031"; +$fa-var-forumbee: "\f211"; +$fa-var-forward: "\f04e"; +$fa-var-foursquare: "\f180"; +$fa-var-frown-o: "\f119"; +$fa-var-futbol-o: "\f1e3"; +$fa-var-gamepad: "\f11b"; +$fa-var-gavel: "\f0e3"; +$fa-var-gbp: "\f154"; +$fa-var-ge: "\f1d1"; +$fa-var-gear: "\f013"; +$fa-var-gears: "\f085"; +$fa-var-genderless: "\f1db"; +$fa-var-gift: "\f06b"; +$fa-var-git: "\f1d3"; +$fa-var-git-square: "\f1d2"; +$fa-var-github: "\f09b"; +$fa-var-github-alt: "\f113"; +$fa-var-github-square: "\f092"; +$fa-var-gittip: "\f184"; +$fa-var-glass: "\f000"; +$fa-var-globe: "\f0ac"; +$fa-var-google: "\f1a0"; +$fa-var-google-plus: "\f0d5"; +$fa-var-google-plus-square: "\f0d4"; +$fa-var-google-wallet: "\f1ee"; +$fa-var-graduation-cap: "\f19d"; +$fa-var-gratipay: "\f184"; +$fa-var-group: "\f0c0"; +$fa-var-h-square: "\f0fd"; +$fa-var-hacker-news: "\f1d4"; +$fa-var-hand-o-down: "\f0a7"; +$fa-var-hand-o-left: "\f0a5"; +$fa-var-hand-o-right: "\f0a4"; +$fa-var-hand-o-up: "\f0a6"; +$fa-var-hdd-o: "\f0a0"; +$fa-var-header: "\f1dc"; +$fa-var-headphones: "\f025"; +$fa-var-heart: "\f004"; +$fa-var-heart-o: "\f08a"; +$fa-var-heartbeat: "\f21e"; +$fa-var-history: "\f1da"; +$fa-var-home: "\f015"; +$fa-var-hospital-o: "\f0f8"; +$fa-var-hotel: "\f236"; +$fa-var-html5: "\f13b"; +$fa-var-ils: "\f20b"; +$fa-var-image: "\f03e"; +$fa-var-inbox: "\f01c"; +$fa-var-indent: "\f03c"; +$fa-var-info: "\f129"; +$fa-var-info-circle: "\f05a"; +$fa-var-inr: "\f156"; +$fa-var-instagram: "\f16d"; +$fa-var-institution: "\f19c"; +$fa-var-ioxhost: "\f208"; +$fa-var-italic: "\f033"; +$fa-var-joomla: "\f1aa"; +$fa-var-jpy: "\f157"; +$fa-var-jsfiddle: "\f1cc"; +$fa-var-key: "\f084"; +$fa-var-keyboard-o: "\f11c"; +$fa-var-krw: "\f159"; +$fa-var-language: "\f1ab"; +$fa-var-laptop: "\f109"; +$fa-var-lastfm: "\f202"; +$fa-var-lastfm-square: "\f203"; +$fa-var-leaf: "\f06c"; +$fa-var-leanpub: "\f212"; +$fa-var-legal: "\f0e3"; +$fa-var-lemon-o: "\f094"; +$fa-var-level-down: "\f149"; +$fa-var-level-up: "\f148"; +$fa-var-life-bouy: "\f1cd"; +$fa-var-life-buoy: "\f1cd"; +$fa-var-life-ring: "\f1cd"; +$fa-var-life-saver: "\f1cd"; +$fa-var-lightbulb-o: "\f0eb"; +$fa-var-line-chart: "\f201"; +$fa-var-link: "\f0c1"; +$fa-var-linkedin: "\f0e1"; +$fa-var-linkedin-square: "\f08c"; +$fa-var-linux: "\f17c"; +$fa-var-list: "\f03a"; +$fa-var-list-alt: "\f022"; +$fa-var-list-ol: "\f0cb"; +$fa-var-list-ul: "\f0ca"; +$fa-var-location-arrow: "\f124"; +$fa-var-lock: "\f023"; +$fa-var-long-arrow-down: "\f175"; +$fa-var-long-arrow-left: "\f177"; +$fa-var-long-arrow-right: "\f178"; +$fa-var-long-arrow-up: "\f176"; +$fa-var-magic: "\f0d0"; +$fa-var-magnet: "\f076"; +$fa-var-mail-forward: "\f064"; +$fa-var-mail-reply: "\f112"; +$fa-var-mail-reply-all: "\f122"; +$fa-var-male: "\f183"; +$fa-var-map-marker: "\f041"; +$fa-var-mars: "\f222"; +$fa-var-mars-double: "\f227"; +$fa-var-mars-stroke: "\f229"; +$fa-var-mars-stroke-h: "\f22b"; +$fa-var-mars-stroke-v: "\f22a"; +$fa-var-maxcdn: "\f136"; +$fa-var-meanpath: "\f20c"; +$fa-var-medium: "\f23a"; +$fa-var-medkit: "\f0fa"; +$fa-var-meh-o: "\f11a"; +$fa-var-mercury: "\f223"; +$fa-var-microphone: "\f130"; +$fa-var-microphone-slash: "\f131"; +$fa-var-minus: "\f068"; +$fa-var-minus-circle: "\f056"; +$fa-var-minus-square: "\f146"; +$fa-var-minus-square-o: "\f147"; +$fa-var-mobile: "\f10b"; +$fa-var-mobile-phone: "\f10b"; +$fa-var-money: "\f0d6"; +$fa-var-moon-o: "\f186"; +$fa-var-mortar-board: "\f19d"; +$fa-var-motorcycle: "\f21c"; +$fa-var-music: "\f001"; +$fa-var-navicon: "\f0c9"; +$fa-var-neuter: "\f22c"; +$fa-var-newspaper-o: "\f1ea"; +$fa-var-openid: "\f19b"; +$fa-var-outdent: "\f03b"; +$fa-var-pagelines: "\f18c"; +$fa-var-paint-brush: "\f1fc"; +$fa-var-paper-plane: "\f1d8"; +$fa-var-paper-plane-o: "\f1d9"; +$fa-var-paperclip: "\f0c6"; +$fa-var-paragraph: "\f1dd"; +$fa-var-paste: "\f0ea"; +$fa-var-pause: "\f04c"; +$fa-var-paw: "\f1b0"; +$fa-var-paypal: "\f1ed"; +$fa-var-pencil: "\f040"; +$fa-var-pencil-square: "\f14b"; +$fa-var-pencil-square-o: "\f044"; +$fa-var-phone: "\f095"; +$fa-var-phone-square: "\f098"; +$fa-var-photo: "\f03e"; +$fa-var-picture-o: "\f03e"; +$fa-var-pie-chart: "\f200"; +$fa-var-pied-piper: "\f1a7"; +$fa-var-pied-piper-alt: "\f1a8"; +$fa-var-pinterest: "\f0d2"; +$fa-var-pinterest-p: "\f231"; +$fa-var-pinterest-square: "\f0d3"; +$fa-var-plane: "\f072"; +$fa-var-play: "\f04b"; +$fa-var-play-circle: "\f144"; +$fa-var-play-circle-o: "\f01d"; +$fa-var-plug: "\f1e6"; +$fa-var-plus: "\f067"; +$fa-var-plus-circle: "\f055"; +$fa-var-plus-square: "\f0fe"; +$fa-var-plus-square-o: "\f196"; +$fa-var-power-off: "\f011"; +$fa-var-print: "\f02f"; +$fa-var-puzzle-piece: "\f12e"; +$fa-var-qq: "\f1d6"; +$fa-var-qrcode: "\f029"; +$fa-var-question: "\f128"; +$fa-var-question-circle: "\f059"; +$fa-var-quote-left: "\f10d"; +$fa-var-quote-right: "\f10e"; +$fa-var-ra: "\f1d0"; +$fa-var-random: "\f074"; +$fa-var-rebel: "\f1d0"; +$fa-var-recycle: "\f1b8"; +$fa-var-reddit: "\f1a1"; +$fa-var-reddit-square: "\f1a2"; +$fa-var-refresh: "\f021"; +$fa-var-remove: "\f00d"; +$fa-var-renren: "\f18b"; +$fa-var-reorder: "\f0c9"; +$fa-var-repeat: "\f01e"; +$fa-var-reply: "\f112"; +$fa-var-reply-all: "\f122"; +$fa-var-retweet: "\f079"; +$fa-var-rmb: "\f157"; +$fa-var-road: "\f018"; +$fa-var-rocket: "\f135"; +$fa-var-rotate-left: "\f0e2"; +$fa-var-rotate-right: "\f01e"; +$fa-var-rouble: "\f158"; +$fa-var-rss: "\f09e"; +$fa-var-rss-square: "\f143"; +$fa-var-rub: "\f158"; +$fa-var-ruble: "\f158"; +$fa-var-rupee: "\f156"; +$fa-var-save: "\f0c7"; +$fa-var-scissors: "\f0c4"; +$fa-var-search: "\f002"; +$fa-var-search-minus: "\f010"; +$fa-var-search-plus: "\f00e"; +$fa-var-sellsy: "\f213"; +$fa-var-send: "\f1d8"; +$fa-var-send-o: "\f1d9"; +$fa-var-server: "\f233"; +$fa-var-share: "\f064"; +$fa-var-share-alt: "\f1e0"; +$fa-var-share-alt-square: "\f1e1"; +$fa-var-share-square: "\f14d"; +$fa-var-share-square-o: "\f045"; +$fa-var-shekel: "\f20b"; +$fa-var-sheqel: "\f20b"; +$fa-var-shield: "\f132"; +$fa-var-ship: "\f21a"; +$fa-var-shirtsinbulk: "\f214"; +$fa-var-shopping-cart: "\f07a"; +$fa-var-sign-in: "\f090"; +$fa-var-sign-out: "\f08b"; +$fa-var-signal: "\f012"; +$fa-var-simplybuilt: "\f215"; +$fa-var-sitemap: "\f0e8"; +$fa-var-skyatlas: "\f216"; +$fa-var-skype: "\f17e"; +$fa-var-slack: "\f198"; +$fa-var-sliders: "\f1de"; +$fa-var-slideshare: "\f1e7"; +$fa-var-smile-o: "\f118"; +$fa-var-soccer-ball-o: "\f1e3"; +$fa-var-sort: "\f0dc"; +$fa-var-sort-alpha-asc: "\f15d"; +$fa-var-sort-alpha-desc: "\f15e"; +$fa-var-sort-amount-asc: "\f160"; +$fa-var-sort-amount-desc: "\f161"; +$fa-var-sort-asc: "\f0de"; +$fa-var-sort-desc: "\f0dd"; +$fa-var-sort-down: "\f0dd"; +$fa-var-sort-numeric-asc: "\f162"; +$fa-var-sort-numeric-desc: "\f163"; +$fa-var-sort-up: "\f0de"; +$fa-var-soundcloud: "\f1be"; +$fa-var-space-shuttle: "\f197"; +$fa-var-spinner: "\f110"; +$fa-var-spoon: "\f1b1"; +$fa-var-spotify: "\f1bc"; +$fa-var-square: "\f0c8"; +$fa-var-square-o: "\f096"; +$fa-var-stack-exchange: "\f18d"; +$fa-var-stack-overflow: "\f16c"; +$fa-var-star: "\f005"; +$fa-var-star-half: "\f089"; +$fa-var-star-half-empty: "\f123"; +$fa-var-star-half-full: "\f123"; +$fa-var-star-half-o: "\f123"; +$fa-var-star-o: "\f006"; +$fa-var-steam: "\f1b6"; +$fa-var-steam-square: "\f1b7"; +$fa-var-step-backward: "\f048"; +$fa-var-step-forward: "\f051"; +$fa-var-stethoscope: "\f0f1"; +$fa-var-stop: "\f04d"; +$fa-var-street-view: "\f21d"; +$fa-var-strikethrough: "\f0cc"; +$fa-var-stumbleupon: "\f1a4"; +$fa-var-stumbleupon-circle: "\f1a3"; +$fa-var-subscript: "\f12c"; +$fa-var-subway: "\f239"; +$fa-var-suitcase: "\f0f2"; +$fa-var-sun-o: "\f185"; +$fa-var-superscript: "\f12b"; +$fa-var-support: "\f1cd"; +$fa-var-table: "\f0ce"; +$fa-var-tablet: "\f10a"; +$fa-var-tachometer: "\f0e4"; +$fa-var-tag: "\f02b"; +$fa-var-tags: "\f02c"; +$fa-var-tasks: "\f0ae"; +$fa-var-taxi: "\f1ba"; +$fa-var-tencent-weibo: "\f1d5"; +$fa-var-terminal: "\f120"; +$fa-var-text-height: "\f034"; +$fa-var-text-width: "\f035"; +$fa-var-th: "\f00a"; +$fa-var-th-large: "\f009"; +$fa-var-th-list: "\f00b"; +$fa-var-thumb-tack: "\f08d"; +$fa-var-thumbs-down: "\f165"; +$fa-var-thumbs-o-down: "\f088"; +$fa-var-thumbs-o-up: "\f087"; +$fa-var-thumbs-up: "\f164"; +$fa-var-ticket: "\f145"; +$fa-var-times: "\f00d"; +$fa-var-times-circle: "\f057"; +$fa-var-times-circle-o: "\f05c"; +$fa-var-tint: "\f043"; +$fa-var-toggle-down: "\f150"; +$fa-var-toggle-left: "\f191"; +$fa-var-toggle-off: "\f204"; +$fa-var-toggle-on: "\f205"; +$fa-var-toggle-right: "\f152"; +$fa-var-toggle-up: "\f151"; +$fa-var-train: "\f238"; +$fa-var-transgender: "\f224"; +$fa-var-transgender-alt: "\f225"; +$fa-var-trash: "\f1f8"; +$fa-var-trash-o: "\f014"; +$fa-var-tree: "\f1bb"; +$fa-var-trello: "\f181"; +$fa-var-trophy: "\f091"; +$fa-var-truck: "\f0d1"; +$fa-var-try: "\f195"; +$fa-var-tty: "\f1e4"; +$fa-var-tumblr: "\f173"; +$fa-var-tumblr-square: "\f174"; +$fa-var-turkish-lira: "\f195"; +$fa-var-twitch: "\f1e8"; +$fa-var-twitter: "\f099"; +$fa-var-twitter-square: "\f081"; +$fa-var-umbrella: "\f0e9"; +$fa-var-underline: "\f0cd"; +$fa-var-undo: "\f0e2"; +$fa-var-university: "\f19c"; +$fa-var-unlink: "\f127"; +$fa-var-unlock: "\f09c"; +$fa-var-unlock-alt: "\f13e"; +$fa-var-unsorted: "\f0dc"; +$fa-var-upload: "\f093"; +$fa-var-usd: "\f155"; +$fa-var-user: "\f007"; +$fa-var-user-md: "\f0f0"; +$fa-var-user-plus: "\f234"; +$fa-var-user-secret: "\f21b"; +$fa-var-user-times: "\f235"; +$fa-var-users: "\f0c0"; +$fa-var-venus: "\f221"; +$fa-var-venus-double: "\f226"; +$fa-var-venus-mars: "\f228"; +$fa-var-viacoin: "\f237"; +$fa-var-video-camera: "\f03d"; +$fa-var-vimeo-square: "\f194"; +$fa-var-vine: "\f1ca"; +$fa-var-vk: "\f189"; +$fa-var-volume-down: "\f027"; +$fa-var-volume-off: "\f026"; +$fa-var-volume-up: "\f028"; +$fa-var-warning: "\f071"; +$fa-var-wechat: "\f1d7"; +$fa-var-weibo: "\f18a"; +$fa-var-weixin: "\f1d7"; +$fa-var-whatsapp: "\f232"; +$fa-var-wheelchair: "\f193"; +$fa-var-wifi: "\f1eb"; +$fa-var-windows: "\f17a"; +$fa-var-won: "\f159"; +$fa-var-wordpress: "\f19a"; +$fa-var-wrench: "\f0ad"; +$fa-var-xing: "\f168"; +$fa-var-xing-square: "\f169"; +$fa-var-yahoo: "\f19e"; +$fa-var-yelp: "\f1e9"; +$fa-var-yen: "\f157"; +$fa-var-youtube: "\f167"; +$fa-var-youtube-play: "\f16a"; +$fa-var-youtube-square: "\f166"; + diff --git a/presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss b/presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss new file mode 100644 index 000000000..388ac6b0c --- /dev/null +++ b/presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss @@ -0,0 +1,17 @@ +/*! + * Font Awesome 4.3.0 by @davegandy - http://fontawesome.io - @fontawesome + * License - http://fontawesome.io/license (Font: SIL OFL 1.1, CSS: MIT License) + */ + +@import "variables"; +@import "mixins"; +@import "path"; +@import "core"; +@import "larger"; +@import "fixed-width"; +@import "list"; +@import "bordered-pulled"; +@import "animated"; +@import "rotated-flipped"; +@import "stacked"; +@import "icons"; diff --git a/presentation/contrib/google/css/lato.css b/presentation/contrib/google/css/lato.css new file mode 100644 index 000000000..08c845180 --- /dev/null +++ b/presentation/contrib/google/css/lato.css @@ -0,0 +1,24 @@ +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 400; + src: local('Lato Regular'), local('Lato-Regular'), url(../fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: normal; + font-weight: 700; + src: local('Lato Bold'), local('Lato-Bold'), url(../fonts/DvlFBScY1r-FMtZSYIYoYw.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 400; + src: local('Lato Italic'), local('Lato-Italic'), url(../fonts/LqowQDslGv4DmUBAfWa2Vw.ttf) format('truetype'); +} +@font-face { + font-family: 'Lato'; + font-style: italic; + font-weight: 700; + src: local('Lato Bold Italic'), local('Lato-BoldItalic'), url(../fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf) format('truetype'); +} diff --git a/presentation/contrib/google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf b/presentation/contrib/google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf new file mode 100644 index 0000000000000000000000000000000000000000..e8b9bf6a20e1f67fd0e8b42b25e3f0e627babe39 GIT binary patch literal 82368 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 literal 0 HcmV?d00001 diff --git a/presentation/contrib/google/fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf b/presentation/contrib/google/fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf new file mode 100644 index 0000000000000000000000000000000000000000..608830e997ecffc2243870dd439cf357d4980e55 GIT binary patch literal 82616 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ìS1YH>S&vVK@ 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 AE&u=k literal 0 HcmV?d00001 diff --git a/presentation/contrib/google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf b/presentation/contrib/google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7c831985252664bd3f4b23e391410a6eb49ed8e2 GIT binary patch literal 81332 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 a1~vvBhHDH=3_c9k8JHOS85kKD89V{q1}%sH literal 0 HcmV?d00001 diff --git a/presentation/contrib/google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf b/presentation/contrib/google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7608bc3e0fd03fc3cf3a41501ed9c1b49b773ac4 GIT binary patch literal 81980 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 R^c^5eJzf1=);T3K0RY=_C1(Ht literal 0 HcmV?d00001 diff --git a/presentation/img/php.png b/presentation/img/php.png new file mode 100644 index 0000000000000000000000000000000000000000..7bbc0f784440a935fbe4f6bee9eaf89458f0216c GIT binary patch literal 39266 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
^O4g>D61Dx2{|_JvDt=#@2OuI^vt4J~ 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 Odp%wKT-G@yGywo_e;5q_ literal 0 HcmV?d00001 diff --git a/presentation/img/python.png b/presentation/img/python.png new file mode 100644 index 0000000000000000000000000000000000000000..2cbb89d1c38b0fda5771d23d49e0dc1ccced52e9 GIT binary patch literal 50731 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 literal 0 HcmV?d00001 diff --git a/presentation/img/qr/repo.png b/presentation/img/qr/repo.png new file mode 100644 index 0000000000000000000000000000000000000000..7be54481468f7dbb934b5f2e136c92fce2aeff84 GIT binary patch literal 731 zcmeAS@N?(olHy`uVBq!ia0y~yU`PRB4kiW$hW`yr%nS?+Y)RhkE)4%caKYZ?lNlJ8 zCV09yhE&XXJI68ai2)DG@$SF>r>E!dJE5>kBg#=M^mvc1Hm_O6#7*nofB!wP$KKwy z@qSAZqX_qc2!^9fe`5ca#9lwwkzEzb?xJZi)BjVzk;go}It@vTayb>7Gp8NmIO>1W znfvlud)}yfCzv$E7HoRxd*1ZB|7!QHKM@jKzC5uqQCC3{3Y#9Pwf@c%`mU;1C#uZ7 zAfiFo%%$6U%7ZG)Exi+219Tix4#(w)zh4xbD)VGtZM#$?!%?OXvpYIwYAUCXE&0>L zbMF|)oCgQn)TMvDSSuu&eE)}j56CIAvJbC(DyOwbtX$RDM{nKP>=Z^3?gHPhtU{Yr zYP*sgOg7G2|9ZJJ$UvJL8>VOHE#oo@ez|7)j;#;%x>ytRm+swn;ELGvrh67!ypuqB zFPv%PXWn|P5te*1iTGC@_yJ}t6E5~b&fLx;R>(HaVpe?>7du69) zbQNBhQ!QK#mRPXUEav~F$mEwxAI$rG%lbapku!LYf8V8|r>7TJf2;npj=?5|F4m5H z<}Tg4pRn@3ZTCFpxvVj)yI%t2N*C2xA6+AhKBk#&HCU#;tdrVVY{zuOt+oj1GVhX3)&My33wnp~Ge&67opddZaIr(PS#K26} zM!%~Zh9Da&KBjCdmAS&`qjv50y$yR;9|w8l!O_V#uiak0uj1C0;%e!&V4dCWP7Ci< z+8I({ze7{1_n=8KbLh*2~7YpH9p$_ literal 0 HcmV?d00001 diff --git a/presentation/index.html b/presentation/index.html new file mode 100644 index 000000000..9cdd191b6 --- /dev/null +++ b/presentation/index.html @@ -0,0 +1,131 @@ + + + + + + + Paperless + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/presentation/js/reveal.js b/presentation/js/reveal.js new file mode 100644 index 000000000..65ac29ffd --- /dev/null +++ b/presentation/js/reveal.js @@ -0,0 +1,4276 @@ +/*! + * reveal.js + * http://lab.hakim.se/reveal-js + * MIT licensed + * + * Copyright (C) 2015 Hakim El Hattab, http://hakim.se + */ +(function( root, factory ) { + if( typeof define === 'function' && define.amd ) { + // AMD. Register as an anonymous module. + define( function() { + root.Reveal = factory(); + return root.Reveal; + } ); + } else if( typeof exports === 'object' ) { + // Node. Does not work with strict CommonJS. + module.exports = factory(); + } else { + // Browser globals. + root.Reveal = factory(); + } +}( this, function() { + + 'use strict'; + + var Reveal; + + var SLIDES_SELECTOR = '.slides section', + HORIZONTAL_SLIDES_SELECTOR = '.slides>section', + VERTICAL_SLIDES_SELECTOR = '.slides>section.present>section', + HOME_SLIDE_SELECTOR = '.slides>section:first-of-type', + + // Configurations defaults, can be overridden at initialization time + config = { + + // The "normal" size of the presentation, aspect ratio will be preserved + // when the presentation is scaled to fit different resolutions + width: 960, + height: 700, + + // Factor of the display size that should remain empty around the content + margin: 0.1, + + // Bounds for smallest/largest possible scale to apply to content + minScale: 0.2, + maxScale: 1.5, + + // Display controls in the bottom right corner + controls: true, + + // Display a presentation progress bar + progress: true, + + // Display the page number of the current slide + slideNumber: false, + + // Push each slide change to the browser history + history: false, + + // Enable keyboard shortcuts for navigation + keyboard: true, + + // Optional function that blocks keyboard events when retuning false + keyboardCondition: null, + + // Enable the slide overview mode + overview: true, + + // Vertical centering of slides + center: true, + + // Enables touch navigation on devices with touch input + touch: true, + + // Loop the presentation + loop: false, + + // Change the presentation direction to be RTL + rtl: false, + + // Turns fragments on and off globally + fragments: true, + + // Flags if the presentation is running in an embedded mode, + // i.e. contained within a limited portion of the screen + embedded: false, + + // Flags if we should show a help overlay when the questionmark + // key is pressed + help: true, + + // Flags if it should be possible to pause the presentation (blackout) + pause: true, + + // Number of milliseconds between automatically proceeding to the + // next slide, disabled when set to 0, this value can be overwritten + // by using a data-autoslide attribute on your slides + autoSlide: 0, + + // Stop auto-sliding after user input + autoSlideStoppable: true, + + // Enable slide navigation via mouse wheel + mouseWheel: false, + + // Apply a 3D roll to links on hover + rollingLinks: false, + + // Hides the address bar on mobile devices + hideAddressBar: true, + + // Opens links in an iframe preview overlay + previewLinks: false, + + // Exposes the reveal.js API through window.postMessage + postMessage: true, + + // Dispatches all reveal.js events to the parent window through postMessage + postMessageEvents: false, + + // Focuses body when page changes visiblity to ensure keyboard shortcuts work + focusBodyOnPageVisibilityChange: true, + + // Transition style + transition: 'slide', // none/fade/slide/convex/concave/zoom + + // Transition speed + transitionSpeed: 'default', // default/fast/slow + + // Transition style for full page slide backgrounds + backgroundTransition: 'fade', // none/fade/slide/convex/concave/zoom + + // Parallax background image + parallaxBackgroundImage: '', // CSS syntax, e.g. "a.jpg" + + // Parallax background size + parallaxBackgroundSize: '', // CSS syntax, e.g. "3000px 2000px" + + // Number of slides away from the current that are visible + viewDistance: 3, + + // Script dependencies to load + dependencies: [] + + }, + + // Flags if reveal.js is loaded (has dispatched the 'ready' event) + loaded = false, + + // The horizontal and vertical index of the currently active slide + indexh, + indexv, + + // The previous and current slide HTML elements + previousSlide, + currentSlide, + + previousBackground, + + // Slides may hold a data-state attribute which we pick up and apply + // as a class to the body. This list contains the combined state of + // all current slides. + state = [], + + // The current scale of the presentation (see width/height config) + scale = 1, + + // Cached references to DOM elements + dom = {}, + + // Features supported by the browser, see #checkCapabilities() + features = {}, + + // Client is a mobile device, see #checkCapabilities() + isMobileDevice, + + // Throttles mouse wheel navigation + lastMouseWheelStep = 0, + + // Delays updates to the URL due to a Chrome thumbnailer bug + writeURLTimeout = 0, + + // Flags if the interaction event listeners are bound + eventsAreBound = false, + + // The current auto-slide duration + autoSlide = 0, + + // Auto slide properties + autoSlidePlayer, + autoSlideTimeout = 0, + autoSlideStartTime = -1, + autoSlidePaused = false, + + // Holds information about the currently ongoing touch input + touch = { + startX: 0, + startY: 0, + startSpan: 0, + startCount: 0, + captured: false, + threshold: 40 + }, + + // Holds information about the keyboard shortcuts + keyboardShortcuts = { + 'N , SPACE': 'Next slide', + 'P': 'Previous slide', + '← , H': 'Navigate left', + '→ , L': 'Navigate right', + '↑ , K': 'Navigate up', + '↓ , J': 'Navigate down', + 'Home': 'First slide', + 'End': 'Last slide', + 'B , .': 'Pause', + 'F': 'Fullscreen', + 'ESC, O': 'Slide overview' + }; + + /** + * Starts up the presentation if the client is capable. + */ + function initialize( options ) { + + checkCapabilities(); + + if( !features.transforms2d && !features.transforms3d ) { + document.body.setAttribute( 'class', 'no-transforms' ); + + // Since JS won't be running any further, we need to load all + // images that were intended to lazy load now + var images = document.getElementsByTagName( 'img' ); + for( var i = 0, len = images.length; i < len; i++ ) { + var image = images[i]; + if( image.getAttribute( 'data-src' ) ) { + image.setAttribute( 'src', image.getAttribute( 'data-src' ) ); + image.removeAttribute( 'data-src' ); + } + } + + // If the browser doesn't support core features we won't be + // using JavaScript to control the presentation + return; + } + + // Cache references to key DOM elements + dom.wrapper = document.querySelector( '.reveal' ); + dom.slides = document.querySelector( '.reveal .slides' ); + + // Force a layout when the whole page, incl fonts, has loaded + window.addEventListener( 'load', layout, false ); + + var query = Reveal.getQueryHash(); + + // Do not accept new dependencies via query config to avoid + // the potential of malicious script injection + if( typeof query['dependencies'] !== 'undefined' ) delete query['dependencies']; + + // Copy options over to our config object + extend( config, options ); + extend( config, query ); + + // Hide the address bar in mobile browsers + hideAddressBar(); + + // Loads the dependencies and continues to #start() once done + load(); + + } + + /** + * Inspect the client to see what it's capable of, this + * should only happens once per runtime. + */ + function checkCapabilities() { + + features.transforms3d = 'WebkitPerspective' in document.body.style || + 'MozPerspective' in document.body.style || + 'msPerspective' in document.body.style || + 'OPerspective' in document.body.style || + 'perspective' in document.body.style; + + features.transforms2d = 'WebkitTransform' in document.body.style || + 'MozTransform' in document.body.style || + 'msTransform' in document.body.style || + 'OTransform' in document.body.style || + 'transform' in document.body.style; + + features.requestAnimationFrameMethod = window.requestAnimationFrame || window.webkitRequestAnimationFrame || window.mozRequestAnimationFrame; + features.requestAnimationFrame = typeof features.requestAnimationFrameMethod === 'function'; + + features.canvas = !!document.createElement( 'canvas' ).getContext; + + features.touch = !!( 'ontouchstart' in window ); + + isMobileDevice = navigator.userAgent.match( /(iphone|ipod|ipad|android)/gi ); + + } + + /** + * Loads the dependencies of reveal.js. Dependencies are + * defined via the configuration option 'dependencies' + * and will be loaded prior to starting/binding reveal.js. + * Some dependencies may have an 'async' flag, if so they + * will load after reveal.js has been started up. + */ + function load() { + + var scripts = [], + scriptsAsync = [], + scriptsToPreload = 0; + + // Called once synchronous scripts finish loading + function proceed() { + if( scriptsAsync.length ) { + // Load asynchronous scripts + head.js.apply( null, scriptsAsync ); + } + + start(); + } + + function loadScript( s ) { + head.ready( s.src.match( /([\w\d_\-]*)\.?js$|[^\\\/]*$/i )[0], function() { + // Extension may contain callback functions + if( typeof s.callback === 'function' ) { + s.callback.apply( this ); + } + + if( --scriptsToPreload === 0 ) { + proceed(); + } + }); + } + + for( var i = 0, len = config.dependencies.length; i < len; i++ ) { + var s = config.dependencies[i]; + + // Load if there's no condition or the condition is truthy + if( !s.condition || s.condition() ) { + if( s.async ) { + scriptsAsync.push( s.src ); + } + else { + scripts.push( s.src ); + } + + loadScript( s ); + } + } + + if( scripts.length ) { + scriptsToPreload = scripts.length; + + // Load synchronous scripts + head.js.apply( null, scripts ); + } + else { + proceed(); + } + + } + + /** + * Starts up reveal.js by binding input events and navigating + * to the current URL deeplink if there is one. + */ + function start() { + + // Make sure we've got all the DOM elements we need + setupDOM(); + + // Listen to messages posted to this window + setupPostMessage(); + + // Resets all vertical slides so that only the first is visible + resetVerticalSlides(); + + // Updates the presentation to match the current configuration values + configure(); + + // Read the initial hash + readURL(); + + // Update all backgrounds + updateBackground( true ); + + // Notify listeners that the presentation is ready but use a 1ms + // timeout to ensure it's not fired synchronously after #initialize() + setTimeout( function() { + // Enable transitions now that we're loaded + dom.slides.classList.remove( 'no-transition' ); + + loaded = true; + + dispatchEvent( 'ready', { + 'indexh': indexh, + 'indexv': indexv, + 'currentSlide': currentSlide + } ); + }, 1 ); + + // Special setup and config is required when printing to PDF + if( isPrintingPDF() ) { + removeEventListeners(); + + // The document needs to have loaded for the PDF layout + // measurements to be accurate + if( document.readyState === 'complete' ) { + setupPDF(); + } + else { + window.addEventListener( 'load', setupPDF ); + } + } + + } + + /** + * Finds and stores references to DOM elements which are + * required by the presentation. If a required element is + * not found, it is created. + */ + function setupDOM() { + + // Prevent transitions while we're loading + dom.slides.classList.add( 'no-transition' ); + + // Background element + dom.background = createSingletonNode( dom.wrapper, 'div', 'backgrounds', null ); + + // Progress bar + dom.progress = createSingletonNode( dom.wrapper, 'div', 'progress', '' ); + dom.progressbar = dom.progress.querySelector( 'span' ); + + // Arrow controls + createSingletonNode( dom.wrapper, 'aside', 'controls', + '' + + '' + + '' + + '' ); + + // Slide number + dom.slideNumber = createSingletonNode( dom.wrapper, 'div', 'slide-number', '' ); + + // Overlay graphic which is displayed during the paused mode + createSingletonNode( dom.wrapper, 'div', 'pause-overlay', null ); + + // Cache references to elements + dom.controls = document.querySelector( '.reveal .controls' ); + dom.theme = document.querySelector( '#theme' ); + + dom.wrapper.setAttribute( 'role', 'application' ); + + // There can be multiple instances of controls throughout the page + dom.controlsLeft = toArray( document.querySelectorAll( '.navigate-left' ) ); + dom.controlsRight = toArray( document.querySelectorAll( '.navigate-right' ) ); + dom.controlsUp = toArray( document.querySelectorAll( '.navigate-up' ) ); + dom.controlsDown = toArray( document.querySelectorAll( '.navigate-down' ) ); + dom.controlsPrev = toArray( document.querySelectorAll( '.navigate-prev' ) ); + dom.controlsNext = toArray( document.querySelectorAll( '.navigate-next' ) ); + + dom.statusDiv = createStatusDiv(); + } + + /** + * Creates a hidden div with role aria-live to announce the + * current slide content. Hide the div off-screen to make it + * available only to Assistive Technologies. + */ + function createStatusDiv() { + + var statusDiv = document.getElementById( 'aria-status-div' ); + if( !statusDiv ) { + statusDiv = document.createElement( 'div' ); + statusDiv.style.position = 'absolute'; + statusDiv.style.height = '1px'; + statusDiv.style.width = '1px'; + statusDiv.style.overflow ='hidden'; + statusDiv.style.clip = 'rect( 1px, 1px, 1px, 1px )'; + statusDiv.setAttribute( 'id', 'aria-status-div' ); + statusDiv.setAttribute( 'aria-live', 'polite' ); + statusDiv.setAttribute( 'aria-atomic','true' ); + dom.wrapper.appendChild( statusDiv ); + } + return statusDiv; + + } + + /** + * Configures the presentation for printing to a static + * PDF. + */ + function setupPDF() { + + var slideSize = getComputedSlideSize( window.innerWidth, window.innerHeight ); + + // Dimensions of the PDF pages + var pageWidth = Math.floor( slideSize.width * ( 1 + config.margin ) ), + pageHeight = Math.floor( slideSize.height * ( 1 + config.margin ) ); + + // Dimensions of slides within the pages + var slideWidth = slideSize.width, + slideHeight = slideSize.height; + + // Let the browser know what page size we want to print + injectStyleSheet( '@page{size:'+ pageWidth +'px '+ pageHeight +'px; margin: 0;}' ); + + // Limit the size of certain elements to the dimensions of the slide + injectStyleSheet( '.reveal section>img, .reveal section>video, .reveal section>iframe{max-width: '+ slideWidth +'px; max-height:'+ slideHeight +'px}' ); + + document.body.classList.add( 'print-pdf' ); + document.body.style.width = pageWidth + 'px'; + document.body.style.height = pageHeight + 'px'; + + // Slide and slide background layout + toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { + + // Vertical stacks are not centred since their section + // children will be + if( slide.classList.contains( 'stack' ) === false ) { + // Center the slide inside of the page, giving the slide some margin + var left = ( pageWidth - slideWidth ) / 2, + top = ( pageHeight - slideHeight ) / 2; + + var contentHeight = getAbsoluteHeight( slide ); + var numberOfPages = Math.max( Math.ceil( contentHeight / pageHeight ), 1 ); + + // Center slides vertically + if( numberOfPages === 1 && config.center || slide.classList.contains( 'center' ) ) { + top = Math.max( ( pageHeight - contentHeight ) / 2, 0 ); + } + + // Position the slide inside of the page + slide.style.left = left + 'px'; + slide.style.top = top + 'px'; + slide.style.width = slideWidth + 'px'; + + // TODO Backgrounds need to be multiplied when the slide + // stretches over multiple pages + var background = slide.querySelector( '.slide-background' ); + if( background ) { + background.style.width = pageWidth + 'px'; + background.style.height = ( pageHeight * numberOfPages ) + 'px'; + background.style.top = -top + 'px'; + background.style.left = -left + 'px'; + } + } + + } ); + + // Show all fragments + toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' .fragment' ) ).forEach( function( fragment ) { + fragment.classList.add( 'visible' ); + } ); + + } + + /** + * Creates an HTML element and returns a reference to it. + * If the element already exists the existing instance will + * be returned. + */ + function createSingletonNode( container, tagname, classname, innerHTML ) { + + // Find all nodes matching the description + var nodes = container.querySelectorAll( '.' + classname ); + + // Check all matches to find one which is a direct child of + // the specified container + for( var i = 0; i < nodes.length; i++ ) { + var testNode = nodes[i]; + if( testNode.parentNode === container ) { + return testNode; + } + } + + // If no node was found, create it now + var node = document.createElement( tagname ); + node.classList.add( classname ); + if( typeof innerHTML === 'string' ) { + node.innerHTML = innerHTML; + } + container.appendChild( node ); + + return node; + + } + + /** + * Creates the slide background elements and appends them + * to the background container. One element is created per + * slide no matter if the given slide has visible background. + */ + function createBackgrounds() { + + var printMode = isPrintingPDF(); + + // Clear prior backgrounds + dom.background.innerHTML = ''; + dom.background.classList.add( 'no-transition' ); + + // Iterate over all horizontal slides + toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).forEach( function( slideh ) { + + var backgroundStack; + + if( printMode ) { + backgroundStack = createBackground( slideh, slideh ); + } + else { + backgroundStack = createBackground( slideh, dom.background ); + } + + // Iterate over all vertical slides + toArray( slideh.querySelectorAll( 'section' ) ).forEach( function( slidev ) { + + if( printMode ) { + createBackground( slidev, slidev ); + } + else { + createBackground( slidev, backgroundStack ); + } + + backgroundStack.classList.add( 'stack' ); + + } ); + + } ); + + // Add parallax background if specified + if( config.parallaxBackgroundImage ) { + + dom.background.style.backgroundImage = 'url("' + config.parallaxBackgroundImage + '")'; + dom.background.style.backgroundSize = config.parallaxBackgroundSize; + + // Make sure the below properties are set on the element - these properties are + // needed for proper transitions to be set on the element via CSS. To remove + // annoying background slide-in effect when the presentation starts, apply + // these properties after short time delay + setTimeout( function() { + dom.wrapper.classList.add( 'has-parallax-background' ); + }, 1 ); + + } + else { + + dom.background.style.backgroundImage = ''; + dom.wrapper.classList.remove( 'has-parallax-background' ); + + } + + } + + /** + * Creates a background for the given slide. + * + * @param {HTMLElement} slide + * @param {HTMLElement} container The element that the background + * should be appended to + */ + function createBackground( slide, container ) { + + var data = { + background: slide.getAttribute( 'data-background' ), + backgroundSize: slide.getAttribute( 'data-background-size' ), + backgroundImage: slide.getAttribute( 'data-background-image' ), + backgroundVideo: slide.getAttribute( 'data-background-video' ), + backgroundIframe: slide.getAttribute( 'data-background-iframe' ), + backgroundColor: slide.getAttribute( 'data-background-color' ), + backgroundRepeat: slide.getAttribute( 'data-background-repeat' ), + backgroundPosition: slide.getAttribute( 'data-background-position' ), + backgroundTransition: slide.getAttribute( 'data-background-transition' ) + }; + + var element = document.createElement( 'div' ); + + // Carry over custom classes from the slide to the background + element.className = 'slide-background ' + slide.className.replace( /present|past|future/, '' ); + + if( data.background ) { + // Auto-wrap image urls in url(...) + if( /^(http|file|\/\/)/gi.test( data.background ) || /\.(svg|png|jpg|jpeg|gif|bmp)$/gi.test( data.background ) ) { + slide.setAttribute( 'data-background-image', data.background ); + } + else { + element.style.background = data.background; + } + } + + // Create a hash for this combination of background settings. + // This is used to determine when two slide backgrounds are + // the same. + if( data.background || data.backgroundColor || data.backgroundImage || data.backgroundVideo || data.backgroundIframe ) { + element.setAttribute( 'data-background-hash', data.background + + data.backgroundSize + + data.backgroundImage + + data.backgroundVideo + + data.backgroundIframe + + data.backgroundColor + + data.backgroundRepeat + + data.backgroundPosition + + data.backgroundTransition ); + } + + // Additional and optional background properties + if( data.backgroundSize ) element.style.backgroundSize = data.backgroundSize; + if( data.backgroundColor ) element.style.backgroundColor = data.backgroundColor; + if( data.backgroundRepeat ) element.style.backgroundRepeat = data.backgroundRepeat; + if( data.backgroundPosition ) element.style.backgroundPosition = data.backgroundPosition; + if( data.backgroundTransition ) element.setAttribute( 'data-background-transition', data.backgroundTransition ); + + container.appendChild( element ); + + // If backgrounds are being recreated, clear old classes + slide.classList.remove( 'has-dark-background' ); + slide.classList.remove( 'has-light-background' ); + + // If this slide has a background color, add a class that + // signals if it is light or dark. If the slide has no background + // color, no class will be set + var computedBackgroundColor = window.getComputedStyle( element ).backgroundColor; + if( computedBackgroundColor ) { + var rgb = colorToRgb( computedBackgroundColor ); + + // Ignore fully transparent backgrounds. Some browsers return + // rgba(0,0,0,0) when reading the computed background color of + // an element with no background + if( rgb && rgb.a !== 0 ) { + if( colorBrightness( computedBackgroundColor ) < 128 ) { + slide.classList.add( 'has-dark-background' ); + } + else { + slide.classList.add( 'has-light-background' ); + } + } + } + + return element; + + } + + /** + * Registers a listener to postMessage events, this makes it + * possible to call all reveal.js API methods from another + * window. For example: + * + * revealWindow.postMessage( JSON.stringify({ + * method: 'slide', + * args: [ 2 ] + * }), '*' ); + */ + function setupPostMessage() { + + if( config.postMessage ) { + window.addEventListener( 'message', function ( event ) { + var data = event.data; + + // Make sure we're dealing with JSON + if( data.charAt( 0 ) === '{' && data.charAt( data.length - 1 ) === '}' ) { + data = JSON.parse( data ); + + // Check if the requested method can be found + if( data.method && typeof Reveal[data.method] === 'function' ) { + Reveal[data.method].apply( Reveal, data.args ); + } + } + }, false ); + } + + } + + /** + * Applies the configuration settings from the config + * object. May be called multiple times. + */ + function configure( options ) { + + var numberOfSlides = dom.wrapper.querySelectorAll( SLIDES_SELECTOR ).length; + + dom.wrapper.classList.remove( config.transition ); + + // New config options may be passed when this method + // is invoked through the API after initialization + if( typeof options === 'object' ) extend( config, options ); + + // Force linear transition based on browser capabilities + if( features.transforms3d === false ) config.transition = 'linear'; + + dom.wrapper.classList.add( config.transition ); + + dom.wrapper.setAttribute( 'data-transition-speed', config.transitionSpeed ); + dom.wrapper.setAttribute( 'data-background-transition', config.backgroundTransition ); + + dom.controls.style.display = config.controls ? 'block' : 'none'; + dom.progress.style.display = config.progress ? 'block' : 'none'; + + if( config.rtl ) { + dom.wrapper.classList.add( 'rtl' ); + } + else { + dom.wrapper.classList.remove( 'rtl' ); + } + + if( config.center ) { + dom.wrapper.classList.add( 'center' ); + } + else { + dom.wrapper.classList.remove( 'center' ); + } + + // Exit the paused mode if it was configured off + if( config.pause === false ) { + resume(); + } + + if( config.mouseWheel ) { + document.addEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF + document.addEventListener( 'mousewheel', onDocumentMouseScroll, false ); + } + else { + document.removeEventListener( 'DOMMouseScroll', onDocumentMouseScroll, false ); // FF + document.removeEventListener( 'mousewheel', onDocumentMouseScroll, false ); + } + + // Rolling 3D links + if( config.rollingLinks ) { + enableRollingLinks(); + } + else { + disableRollingLinks(); + } + + // Iframe link previews + if( config.previewLinks ) { + enablePreviewLinks(); + } + else { + disablePreviewLinks(); + enablePreviewLinks( '[data-preview-link]' ); + } + + // Remove existing auto-slide controls + if( autoSlidePlayer ) { + autoSlidePlayer.destroy(); + autoSlidePlayer = null; + } + + // Generate auto-slide controls if needed + if( numberOfSlides > 1 && config.autoSlide && config.autoSlideStoppable && features.canvas && features.requestAnimationFrame ) { + autoSlidePlayer = new Playback( dom.wrapper, function() { + return Math.min( Math.max( ( Date.now() - autoSlideStartTime ) / autoSlide, 0 ), 1 ); + } ); + + autoSlidePlayer.on( 'click', onAutoSlidePlayerClick ); + autoSlidePaused = false; + } + + // When fragments are turned off they should be visible + if( config.fragments === false ) { + toArray( dom.slides.querySelectorAll( '.fragment' ) ).forEach( function( element ) { + element.classList.add( 'visible' ); + element.classList.remove( 'current-fragment' ); + } ); + } + + sync(); + + } + + /** + * Binds all event listeners. + */ + function addEventListeners() { + + eventsAreBound = true; + + window.addEventListener( 'hashchange', onWindowHashChange, false ); + window.addEventListener( 'resize', onWindowResize, false ); + + if( config.touch ) { + dom.wrapper.addEventListener( 'touchstart', onTouchStart, false ); + dom.wrapper.addEventListener( 'touchmove', onTouchMove, false ); + dom.wrapper.addEventListener( 'touchend', onTouchEnd, false ); + + // Support pointer-style touch interaction as well + if( window.navigator.pointerEnabled ) { + // IE 11 uses un-prefixed version of pointer events + dom.wrapper.addEventListener( 'pointerdown', onPointerDown, false ); + dom.wrapper.addEventListener( 'pointermove', onPointerMove, false ); + dom.wrapper.addEventListener( 'pointerup', onPointerUp, false ); + } + else if( window.navigator.msPointerEnabled ) { + // IE 10 uses prefixed version of pointer events + dom.wrapper.addEventListener( 'MSPointerDown', onPointerDown, false ); + dom.wrapper.addEventListener( 'MSPointerMove', onPointerMove, false ); + dom.wrapper.addEventListener( 'MSPointerUp', onPointerUp, false ); + } + } + + if( config.keyboard ) { + document.addEventListener( 'keydown', onDocumentKeyDown, false ); + document.addEventListener( 'keypress', onDocumentKeyPress, false ); + } + + if( config.progress && dom.progress ) { + dom.progress.addEventListener( 'click', onProgressClicked, false ); + } + + if( config.focusBodyOnPageVisibilityChange ) { + var visibilityChange; + + if( 'hidden' in document ) { + visibilityChange = 'visibilitychange'; + } + else if( 'msHidden' in document ) { + visibilityChange = 'msvisibilitychange'; + } + else if( 'webkitHidden' in document ) { + visibilityChange = 'webkitvisibilitychange'; + } + + if( visibilityChange ) { + document.addEventListener( visibilityChange, onPageVisibilityChange, false ); + } + } + + // Listen to both touch and click events, in case the device + // supports both + var pointerEvents = [ 'touchstart', 'click' ]; + + // Only support touch for Android, fixes double navigations in + // stock browser + if( navigator.userAgent.match( /android/gi ) ) { + pointerEvents = [ 'touchstart' ]; + } + + pointerEvents.forEach( function( eventName ) { + dom.controlsLeft.forEach( function( el ) { el.addEventListener( eventName, onNavigateLeftClicked, false ); } ); + dom.controlsRight.forEach( function( el ) { el.addEventListener( eventName, onNavigateRightClicked, false ); } ); + dom.controlsUp.forEach( function( el ) { el.addEventListener( eventName, onNavigateUpClicked, false ); } ); + dom.controlsDown.forEach( function( el ) { el.addEventListener( eventName, onNavigateDownClicked, false ); } ); + dom.controlsPrev.forEach( function( el ) { el.addEventListener( eventName, onNavigatePrevClicked, false ); } ); + dom.controlsNext.forEach( function( el ) { el.addEventListener( eventName, onNavigateNextClicked, false ); } ); + } ); + + } + + /** + * Unbinds all event listeners. + */ + function removeEventListeners() { + + eventsAreBound = false; + + document.removeEventListener( 'keydown', onDocumentKeyDown, false ); + document.removeEventListener( 'keypress', onDocumentKeyPress, false ); + window.removeEventListener( 'hashchange', onWindowHashChange, false ); + window.removeEventListener( 'resize', onWindowResize, false ); + + dom.wrapper.removeEventListener( 'touchstart', onTouchStart, false ); + dom.wrapper.removeEventListener( 'touchmove', onTouchMove, false ); + dom.wrapper.removeEventListener( 'touchend', onTouchEnd, false ); + + // IE11 + if( window.navigator.pointerEnabled ) { + dom.wrapper.removeEventListener( 'pointerdown', onPointerDown, false ); + dom.wrapper.removeEventListener( 'pointermove', onPointerMove, false ); + dom.wrapper.removeEventListener( 'pointerup', onPointerUp, false ); + } + // IE10 + else if( window.navigator.msPointerEnabled ) { + dom.wrapper.removeEventListener( 'MSPointerDown', onPointerDown, false ); + dom.wrapper.removeEventListener( 'MSPointerMove', onPointerMove, false ); + dom.wrapper.removeEventListener( 'MSPointerUp', onPointerUp, false ); + } + + if ( config.progress && dom.progress ) { + dom.progress.removeEventListener( 'click', onProgressClicked, false ); + } + + [ 'touchstart', 'click' ].forEach( function( eventName ) { + dom.controlsLeft.forEach( function( el ) { el.removeEventListener( eventName, onNavigateLeftClicked, false ); } ); + dom.controlsRight.forEach( function( el ) { el.removeEventListener( eventName, onNavigateRightClicked, false ); } ); + dom.controlsUp.forEach( function( el ) { el.removeEventListener( eventName, onNavigateUpClicked, false ); } ); + dom.controlsDown.forEach( function( el ) { el.removeEventListener( eventName, onNavigateDownClicked, false ); } ); + dom.controlsPrev.forEach( function( el ) { el.removeEventListener( eventName, onNavigatePrevClicked, false ); } ); + dom.controlsNext.forEach( function( el ) { el.removeEventListener( eventName, onNavigateNextClicked, false ); } ); + } ); + + } + + /** + * Extend object a with the properties of object b. + * If there's a conflict, object b takes precedence. + */ + function extend( a, b ) { + + for( var i in b ) { + a[ i ] = b[ i ]; + } + + } + + /** + * Converts the target object to an array. + */ + function toArray( o ) { + + return Array.prototype.slice.call( o ); + + } + + /** + * Utility for deserializing a value. + */ + function deserialize( value ) { + + if( typeof value === 'string' ) { + if( value === 'null' ) return null; + else if( value === 'true' ) return true; + else if( value === 'false' ) return false; + else if( value.match( /^\d+$/ ) ) return parseFloat( value ); + } + + return value; + + } + + /** + * Measures the distance in pixels between point a + * and point b. + * + * @param {Object} a point with x/y properties + * @param {Object} b point with x/y properties + */ + function distanceBetween( a, b ) { + + var dx = a.x - b.x, + dy = a.y - b.y; + + return Math.sqrt( dx*dx + dy*dy ); + + } + + /** + * Applies a CSS transform to the target element. + */ + function transformElement( element, transform ) { + + element.style.WebkitTransform = transform; + element.style.MozTransform = transform; + element.style.msTransform = transform; + element.style.OTransform = transform; + element.style.transform = transform; + + } + + /** + * Injects the given CSS styles into the DOM. + */ + function injectStyleSheet( value ) { + + var tag = document.createElement( 'style' ); + tag.type = 'text/css'; + if( tag.styleSheet ) { + tag.styleSheet.cssText = value; + } + else { + tag.appendChild( document.createTextNode( value ) ); + } + document.getElementsByTagName( 'head' )[0].appendChild( tag ); + + } + + /** + * Measures the distance in pixels between point a and point b. + * + * @param {String} color The string representation of a color, + * the following formats are supported: + * - #000 + * - #000000 + * - rgb(0,0,0) + */ + function colorToRgb( color ) { + + var hex3 = color.match( /^#([0-9a-f]{3})$/i ); + if( hex3 && hex3[1] ) { + hex3 = hex3[1]; + return { + r: parseInt( hex3.charAt( 0 ), 16 ) * 0x11, + g: parseInt( hex3.charAt( 1 ), 16 ) * 0x11, + b: parseInt( hex3.charAt( 2 ), 16 ) * 0x11 + }; + } + + var hex6 = color.match( /^#([0-9a-f]{6})$/i ); + if( hex6 && hex6[1] ) { + hex6 = hex6[1]; + return { + r: parseInt( hex6.substr( 0, 2 ), 16 ), + g: parseInt( hex6.substr( 2, 2 ), 16 ), + b: parseInt( hex6.substr( 4, 2 ), 16 ) + }; + } + + var rgb = color.match( /^rgb\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\)$/i ); + if( rgb ) { + return { + r: parseInt( rgb[1], 10 ), + g: parseInt( rgb[2], 10 ), + b: parseInt( rgb[3], 10 ) + }; + } + + var rgba = color.match( /^rgba\s*\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*\,\s*([\d]+|[\d]*.[\d]+)\s*\)$/i ); + if( rgba ) { + return { + r: parseInt( rgba[1], 10 ), + g: parseInt( rgba[2], 10 ), + b: parseInt( rgba[3], 10 ), + a: parseFloat( rgba[4] ) + }; + } + + return null; + + } + + /** + * Calculates brightness on a scale of 0-255. + * + * @param color See colorStringToRgb for supported formats. + */ + function colorBrightness( color ) { + + if( typeof color === 'string' ) color = colorToRgb( color ); + + if( color ) { + return ( color.r * 299 + color.g * 587 + color.b * 114 ) / 1000; + } + + return null; + + } + + /** + * Retrieves the height of the given element by looking + * at the position and height of its immediate children. + */ + function getAbsoluteHeight( element ) { + + var height = 0; + + if( element ) { + var absoluteChildren = 0; + + toArray( element.childNodes ).forEach( function( child ) { + + if( typeof child.offsetTop === 'number' && child.style ) { + // Count # of abs children + if( window.getComputedStyle( child ).position === 'absolute' ) { + absoluteChildren += 1; + } + + height = Math.max( height, child.offsetTop + child.offsetHeight ); + } + + } ); + + // If there are no absolute children, use offsetHeight + if( absoluteChildren === 0 ) { + height = element.offsetHeight; + } + + } + + return height; + + } + + /** + * Returns the remaining height within the parent of the + * target element. + * + * remaining height = [ configured parent height ] - [ current parent height ] + */ + function getRemainingHeight( element, height ) { + + height = height || 0; + + if( element ) { + var newHeight, oldHeight = element.style.height; + + // Change the .stretch element height to 0 in order find the height of all + // the other elements + element.style.height = '0px'; + newHeight = height - element.parentNode.offsetHeight; + + // Restore the old height, just in case + element.style.height = oldHeight + 'px'; + + return newHeight; + } + + return height; + + } + + /** + * Checks if this instance is being used to print a PDF. + */ + function isPrintingPDF() { + + return ( /print-pdf/gi ).test( window.location.search ); + + } + + /** + * Hides the address bar if we're on a mobile device. + */ + function hideAddressBar() { + + if( config.hideAddressBar && isMobileDevice ) { + // Events that should trigger the address bar to hide + window.addEventListener( 'load', removeAddressBar, false ); + window.addEventListener( 'orientationchange', removeAddressBar, false ); + } + + } + + /** + * Causes the address bar to hide on mobile devices, + * more vertical space ftw. + */ + function removeAddressBar() { + + setTimeout( function() { + window.scrollTo( 0, 1 ); + }, 10 ); + + } + + /** + * Dispatches an event of the specified type from the + * reveal DOM element. + */ + function dispatchEvent( type, args ) { + + var event = document.createEvent( 'HTMLEvents', 1, 2 ); + event.initEvent( type, true, true ); + extend( event, args ); + dom.wrapper.dispatchEvent( event ); + + // If we're in an iframe, post each reveal.js event to the + // parent window. Used by the notes plugin + if( config.postMessageEvents && window.parent !== window.self ) { + window.parent.postMessage( JSON.stringify({ namespace: 'reveal', eventName: type, state: getState() }), '*' ); + } + + } + + /** + * Wrap all links in 3D goodness. + */ + function enableRollingLinks() { + + if( features.transforms3d && !( 'msPerspective' in document.body.style ) ) { + var anchors = dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' a' ); + + for( var i = 0, len = anchors.length; i < len; i++ ) { + var anchor = anchors[i]; + + if( anchor.textContent && !anchor.querySelector( '*' ) && ( !anchor.className || !anchor.classList.contains( anchor, 'roll' ) ) ) { + var span = document.createElement('span'); + span.setAttribute('data-title', anchor.text); + span.innerHTML = anchor.innerHTML; + + anchor.classList.add( 'roll' ); + anchor.innerHTML = ''; + anchor.appendChild(span); + } + } + } + + } + + /** + * Unwrap all 3D links. + */ + function disableRollingLinks() { + + var anchors = dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ' a.roll' ); + + for( var i = 0, len = anchors.length; i < len; i++ ) { + var anchor = anchors[i]; + var span = anchor.querySelector( 'span' ); + + if( span ) { + anchor.classList.remove( 'roll' ); + anchor.innerHTML = span.innerHTML; + } + } + + } + + /** + * Bind preview frame links. + */ + function enablePreviewLinks( selector ) { + + var anchors = toArray( document.querySelectorAll( selector ? selector : 'a' ) ); + + anchors.forEach( function( element ) { + if( /^(http|www)/gi.test( element.getAttribute( 'href' ) ) ) { + element.addEventListener( 'click', onPreviewLinkClicked, false ); + } + } ); + + } + + /** + * Unbind preview frame links. + */ + function disablePreviewLinks() { + + var anchors = toArray( document.querySelectorAll( 'a' ) ); + + anchors.forEach( function( element ) { + if( /^(http|www)/gi.test( element.getAttribute( 'href' ) ) ) { + element.removeEventListener( 'click', onPreviewLinkClicked, false ); + } + } ); + + } + + /** + * Opens a preview window for the target URL. + */ + function showPreview( url ) { + + closeOverlay(); + + dom.overlay = document.createElement( 'div' ); + dom.overlay.classList.add( 'overlay' ); + dom.overlay.classList.add( 'overlay-preview' ); + dom.wrapper.appendChild( dom.overlay ); + + dom.overlay.innerHTML = [ + '
', + '', + '', + '
', + '
', + '
', + '', + '
' + ].join(''); + + dom.overlay.querySelector( 'iframe' ).addEventListener( 'load', function( event ) { + dom.overlay.classList.add( 'loaded' ); + }, false ); + + dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { + closeOverlay(); + event.preventDefault(); + }, false ); + + dom.overlay.querySelector( '.external' ).addEventListener( 'click', function( event ) { + closeOverlay(); + }, false ); + + setTimeout( function() { + dom.overlay.classList.add( 'visible' ); + }, 1 ); + + } + + /** + * Opens a overlay window with help material. + */ + function showHelp() { + + if( config.help ) { + + closeOverlay(); + + dom.overlay = document.createElement( 'div' ); + dom.overlay.classList.add( 'overlay' ); + dom.overlay.classList.add( 'overlay-help' ); + dom.wrapper.appendChild( dom.overlay ); + + var html = '

Keyboard Shortcuts


'; + + html += ''; + for( var key in keyboardShortcuts ) { + html += ''; + } + + html += '
KEYACTION
' + key + '' + keyboardShortcuts[ key ] + '
'; + + dom.overlay.innerHTML = [ + '
', + '', + '
', + '
', + '
'+ html +'
', + '
' + ].join(''); + + dom.overlay.querySelector( '.close' ).addEventListener( 'click', function( event ) { + closeOverlay(); + event.preventDefault(); + }, false ); + + setTimeout( function() { + dom.overlay.classList.add( 'visible' ); + }, 1 ); + + } + + } + + /** + * Closes any currently open overlay. + */ + function closeOverlay() { + + if( dom.overlay ) { + dom.overlay.parentNode.removeChild( dom.overlay ); + dom.overlay = null; + } + + } + + /** + * Applies JavaScript-controlled layout rules to the + * presentation. + */ + function layout() { + + if( dom.wrapper && !isPrintingPDF() ) { + + var size = getComputedSlideSize(); + + var slidePadding = 20; // TODO Dig this out of DOM + + // Layout the contents of the slides + layoutSlideContents( config.width, config.height, slidePadding ); + + dom.slides.style.width = size.width + 'px'; + dom.slides.style.height = size.height + 'px'; + + // Determine scale of content to fit within available space + scale = Math.min( size.presentationWidth / size.width, size.presentationHeight / size.height ); + + // Respect max/min scale settings + scale = Math.max( scale, config.minScale ); + scale = Math.min( scale, config.maxScale ); + + // Don't apply any scaling styles if scale is 1 + if( scale === 1 ) { + dom.slides.style.zoom = ''; + dom.slides.style.left = ''; + dom.slides.style.top = ''; + dom.slides.style.bottom = ''; + dom.slides.style.right = ''; + transformElement( dom.slides, '' ); + } + else { + // Prefer zooming in desktop Chrome so that content remains crisp + if( !isMobileDevice && /chrome/i.test( navigator.userAgent ) && typeof dom.slides.style.zoom !== 'undefined' ) { + dom.slides.style.zoom = scale; + } + // Apply scale transform as a fallback + else { + dom.slides.style.left = '50%'; + dom.slides.style.top = '50%'; + dom.slides.style.bottom = 'auto'; + dom.slides.style.right = 'auto'; + transformElement( dom.slides, 'translate(-50%, -50%) scale('+ scale +')' ); + } + } + + // Select all slides, vertical and horizontal + var slides = toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ); + + for( var i = 0, len = slides.length; i < len; i++ ) { + var slide = slides[ i ]; + + // Don't bother updating invisible slides + if( slide.style.display === 'none' ) { + continue; + } + + if( config.center || slide.classList.contains( 'center' ) ) { + // Vertical stacks are not centred since their section + // children will be + if( slide.classList.contains( 'stack' ) ) { + slide.style.top = 0; + } + else { + slide.style.top = Math.max( ( ( size.height - getAbsoluteHeight( slide ) ) / 2 ) - slidePadding, 0 ) + 'px'; + } + } + else { + slide.style.top = ''; + } + + } + + updateProgress(); + updateParallax(); + + } + + } + + /** + * Applies layout logic to the contents of all slides in + * the presentation. + */ + function layoutSlideContents( width, height, padding ) { + + // Handle sizing of elements with the 'stretch' class + toArray( dom.slides.querySelectorAll( 'section > .stretch' ) ).forEach( function( element ) { + + // Determine how much vertical space we can use + var remainingHeight = getRemainingHeight( element, height ); + + // Consider the aspect ratio of media elements + if( /(img|video)/gi.test( element.nodeName ) ) { + var nw = element.naturalWidth || element.videoWidth, + nh = element.naturalHeight || element.videoHeight; + + var es = Math.min( width / nw, remainingHeight / nh ); + + element.style.width = ( nw * es ) + 'px'; + element.style.height = ( nh * es ) + 'px'; + + } + else { + element.style.width = width + 'px'; + element.style.height = remainingHeight + 'px'; + } + + } ); + + } + + /** + * Calculates the computed pixel size of our slides. These + * values are based on the width and height configuration + * options. + */ + function getComputedSlideSize( presentationWidth, presentationHeight ) { + + var size = { + // Slide size + width: config.width, + height: config.height, + + // Presentation size + presentationWidth: presentationWidth || dom.wrapper.offsetWidth, + presentationHeight: presentationHeight || dom.wrapper.offsetHeight + }; + + // Reduce available space by margin + size.presentationWidth -= ( size.presentationHeight * config.margin ); + size.presentationHeight -= ( size.presentationHeight * config.margin ); + + // Slide width may be a percentage of available width + if( typeof size.width === 'string' && /%$/.test( size.width ) ) { + size.width = parseInt( size.width, 10 ) / 100 * size.presentationWidth; + } + + // Slide height may be a percentage of available height + if( typeof size.height === 'string' && /%$/.test( size.height ) ) { + size.height = parseInt( size.height, 10 ) / 100 * size.presentationHeight; + } + + return size; + + } + + /** + * Stores the vertical index of a stack so that the same + * vertical slide can be selected when navigating to and + * from the stack. + * + * @param {HTMLElement} stack The vertical stack element + * @param {int} v Index to memorize + */ + function setPreviousVerticalIndex( stack, v ) { + + if( typeof stack === 'object' && typeof stack.setAttribute === 'function' ) { + stack.setAttribute( 'data-previous-indexv', v || 0 ); + } + + } + + /** + * Retrieves the vertical index which was stored using + * #setPreviousVerticalIndex() or 0 if no previous index + * exists. + * + * @param {HTMLElement} stack The vertical stack element + */ + function getPreviousVerticalIndex( stack ) { + + if( typeof stack === 'object' && typeof stack.setAttribute === 'function' && stack.classList.contains( 'stack' ) ) { + // Prefer manually defined start-indexv + var attributeName = stack.hasAttribute( 'data-start-indexv' ) ? 'data-start-indexv' : 'data-previous-indexv'; + + return parseInt( stack.getAttribute( attributeName ) || 0, 10 ); + } + + return 0; + + } + + /** + * Displays the overview of slides (quick nav) by + * scaling down and arranging all slide elements. + * + * Experimental feature, might be dropped if perf + * can't be improved. + */ + function activateOverview() { + + // Only proceed if enabled in config + if( config.overview ) { + + // Don't auto-slide while in overview mode + cancelAutoSlide(); + + var wasActive = dom.wrapper.classList.contains( 'overview' ); + + // Vary the depth of the overview based on screen size + var depth = window.innerWidth < 400 ? 1000 : 2500; + + dom.wrapper.classList.add( 'overview' ); + dom.wrapper.classList.remove( 'overview-deactivating' ); + + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); + + for( var i = 0, len1 = horizontalSlides.length; i < len1; i++ ) { + var hslide = horizontalSlides[i], + hoffset = config.rtl ? -105 : 105; + + hslide.setAttribute( 'data-index-h', i ); + + // Apply CSS transform + transformElement( hslide, 'translateZ(-'+ depth +'px) translate(' + ( ( i - indexh ) * hoffset ) + '%, 0%)' ); + + if( hslide.classList.contains( 'stack' ) ) { + + var verticalSlides = hslide.querySelectorAll( 'section' ); + + for( var j = 0, len2 = verticalSlides.length; j < len2; j++ ) { + var verticalIndex = i === indexh ? indexv : getPreviousVerticalIndex( hslide ); + + var vslide = verticalSlides[j]; + + vslide.setAttribute( 'data-index-h', i ); + vslide.setAttribute( 'data-index-v', j ); + + // Apply CSS transform + transformElement( vslide, 'translate(0%, ' + ( ( j - verticalIndex ) * 105 ) + '%)' ); + + // Navigate to this slide on click + vslide.addEventListener( 'click', onOverviewSlideClicked, true ); + } + + } + else { + + // Navigate to this slide on click + hslide.addEventListener( 'click', onOverviewSlideClicked, true ); + + } + } + + updateSlidesVisibility(); + + layout(); + + if( !wasActive ) { + // Notify observers of the overview showing + dispatchEvent( 'overviewshown', { + 'indexh': indexh, + 'indexv': indexv, + 'currentSlide': currentSlide + } ); + } + + } + + } + + /** + * Exits the slide overview and enters the currently + * active slide. + */ + function deactivateOverview() { + + // Only proceed if enabled in config + if( config.overview ) { + + dom.wrapper.classList.remove( 'overview' ); + + // Temporarily add a class so that transitions can do different things + // depending on whether they are exiting/entering overview, or just + // moving from slide to slide + dom.wrapper.classList.add( 'overview-deactivating' ); + + setTimeout( function () { + dom.wrapper.classList.remove( 'overview-deactivating' ); + }, 1 ); + + // Select all slides + toArray( dom.wrapper.querySelectorAll( SLIDES_SELECTOR ) ).forEach( function( slide ) { + // Resets all transforms to use the external styles + transformElement( slide, '' ); + + slide.removeEventListener( 'click', onOverviewSlideClicked, true ); + } ); + + slide( indexh, indexv ); + + cueAutoSlide(); + + // Notify observers of the overview hiding + dispatchEvent( 'overviewhidden', { + 'indexh': indexh, + 'indexv': indexv, + 'currentSlide': currentSlide + } ); + + } + } + + /** + * Toggles the slide overview mode on and off. + * + * @param {Boolean} override Optional flag which overrides the + * toggle logic and forcibly sets the desired state. True means + * overview is open, false means it's closed. + */ + function toggleOverview( override ) { + + if( typeof override === 'boolean' ) { + override ? activateOverview() : deactivateOverview(); + } + else { + isOverview() ? deactivateOverview() : activateOverview(); + } + + } + + /** + * Checks if the overview is currently active. + * + * @return {Boolean} true if the overview is active, + * false otherwise + */ + function isOverview() { + + return dom.wrapper.classList.contains( 'overview' ); + + } + + /** + * Checks if the current or specified slide is vertical + * (nested within another slide). + * + * @param {HTMLElement} slide [optional] The slide to check + * orientation of + */ + function isVerticalSlide( slide ) { + + // Prefer slide argument, otherwise use current slide + slide = slide ? slide : currentSlide; + + return slide && slide.parentNode && !!slide.parentNode.nodeName.match( /section/i ); + + } + + /** + * Handling the fullscreen functionality via the fullscreen API + * + * @see http://fullscreen.spec.whatwg.org/ + * @see https://developer.mozilla.org/en-US/docs/DOM/Using_fullscreen_mode + */ + function enterFullscreen() { + + var element = document.body; + + // Check which implementation is available + var requestMethod = element.requestFullScreen || + element.webkitRequestFullscreen || + element.webkitRequestFullScreen || + element.mozRequestFullScreen || + element.msRequestFullscreen; + + if( requestMethod ) { + requestMethod.apply( element ); + } + + } + + /** + * Enters the paused mode which fades everything on screen to + * black. + */ + function pause() { + + if( config.pause ) { + var wasPaused = dom.wrapper.classList.contains( 'paused' ); + + cancelAutoSlide(); + dom.wrapper.classList.add( 'paused' ); + + if( wasPaused === false ) { + dispatchEvent( 'paused' ); + } + } + + } + + /** + * Exits from the paused mode. + */ + function resume() { + + var wasPaused = dom.wrapper.classList.contains( 'paused' ); + dom.wrapper.classList.remove( 'paused' ); + + cueAutoSlide(); + + if( wasPaused ) { + dispatchEvent( 'resumed' ); + } + + } + + /** + * Toggles the paused mode on and off. + */ + function togglePause( override ) { + + if( typeof override === 'boolean' ) { + override ? pause() : resume(); + } + else { + isPaused() ? resume() : pause(); + } + + } + + /** + * Checks if we are currently in the paused mode. + */ + function isPaused() { + + return dom.wrapper.classList.contains( 'paused' ); + + } + + /** + * Toggles the auto slide mode on and off. + * + * @param {Boolean} override Optional flag which sets the desired state. + * True means autoplay starts, false means it stops. + */ + + function toggleAutoSlide( override ) { + + if( typeof override === 'boolean' ) { + override ? resumeAutoSlide() : pauseAutoSlide(); + } + + else { + autoSlidePaused ? resumeAutoSlide() : pauseAutoSlide(); + } + + } + + /** + * Checks if the auto slide mode is currently on. + */ + function isAutoSliding() { + + return !!( autoSlide && !autoSlidePaused ); + + } + + /** + * Steps from the current point in the presentation to the + * slide which matches the specified horizontal and vertical + * indices. + * + * @param {int} h Horizontal index of the target slide + * @param {int} v Vertical index of the target slide + * @param {int} f Optional index of a fragment within the + * target slide to activate + * @param {int} o Optional origin for use in multimaster environments + */ + function slide( h, v, f, o ) { + + // Remember where we were at before + previousSlide = currentSlide; + + // Query all horizontal slides in the deck + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ); + + // If no vertical index is specified and the upcoming slide is a + // stack, resume at its previous vertical index + if( v === undefined ) { + v = getPreviousVerticalIndex( horizontalSlides[ h ] ); + } + + // If we were on a vertical stack, remember what vertical index + // it was on so we can resume at the same position when returning + if( previousSlide && previousSlide.parentNode && previousSlide.parentNode.classList.contains( 'stack' ) ) { + setPreviousVerticalIndex( previousSlide.parentNode, indexv ); + } + + // Remember the state before this slide + var stateBefore = state.concat(); + + // Reset the state array + state.length = 0; + + var indexhBefore = indexh || 0, + indexvBefore = indexv || 0; + + // Activate and transition to the new slide + indexh = updateSlides( HORIZONTAL_SLIDES_SELECTOR, h === undefined ? indexh : h ); + indexv = updateSlides( VERTICAL_SLIDES_SELECTOR, v === undefined ? indexv : v ); + + // Update the visibility of slides now that the indices have changed + updateSlidesVisibility(); + + layout(); + + // Apply the new state + stateLoop: for( var i = 0, len = state.length; i < len; i++ ) { + // Check if this state existed on the previous slide. If it + // did, we will avoid adding it repeatedly + for( var j = 0; j < stateBefore.length; j++ ) { + if( stateBefore[j] === state[i] ) { + stateBefore.splice( j, 1 ); + continue stateLoop; + } + } + + document.documentElement.classList.add( state[i] ); + + // Dispatch custom event matching the state's name + dispatchEvent( state[i] ); + } + + // Clean up the remains of the previous state + while( stateBefore.length ) { + document.documentElement.classList.remove( stateBefore.pop() ); + } + + // If the overview is active, re-activate it to update positions + if( isOverview() ) { + activateOverview(); + } + + // Find the current horizontal slide and any possible vertical slides + // within it + var currentHorizontalSlide = horizontalSlides[ indexh ], + currentVerticalSlides = currentHorizontalSlide.querySelectorAll( 'section' ); + + // Store references to the previous and current slides + currentSlide = currentVerticalSlides[ indexv ] || currentHorizontalSlide; + + // Show fragment, if specified + if( typeof f !== 'undefined' ) { + navigateFragment( f ); + } + + // Dispatch an event if the slide changed + var slideChanged = ( indexh !== indexhBefore || indexv !== indexvBefore ); + if( slideChanged ) { + dispatchEvent( 'slidechanged', { + 'indexh': indexh, + 'indexv': indexv, + 'previousSlide': previousSlide, + 'currentSlide': currentSlide, + 'origin': o + } ); + } + else { + // Ensure that the previous slide is never the same as the current + previousSlide = null; + } + + // Solves an edge case where the previous slide maintains the + // 'present' class when navigating between adjacent vertical + // stacks + if( previousSlide ) { + previousSlide.classList.remove( 'present' ); + previousSlide.setAttribute( 'aria-hidden', 'true' ); + + // Reset all slides upon navigate to home + // Issue: #285 + if ( dom.wrapper.querySelector( HOME_SLIDE_SELECTOR ).classList.contains( 'present' ) ) { + // Launch async task + setTimeout( function () { + var slides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.stack') ), i; + for( i in slides ) { + if( slides[i] ) { + // Reset stack + setPreviousVerticalIndex( slides[i], 0 ); + } + } + }, 0 ); + } + } + + // Handle embedded content + if( slideChanged || !previousSlide ) { + stopEmbeddedContent( previousSlide ); + startEmbeddedContent( currentSlide ); + } + + // Announce the current slide contents, for screen readers + dom.statusDiv.textContent = currentSlide.textContent; + + updateControls(); + updateProgress(); + updateBackground(); + updateParallax(); + updateSlideNumber(); + + // Update the URL hash + writeURL(); + + cueAutoSlide(); + + } + + /** + * Syncs the presentation with the current DOM. Useful + * when new slides or control elements are added or when + * the configuration has changed. + */ + function sync() { + + // Subscribe to input + removeEventListeners(); + addEventListeners(); + + // Force a layout to make sure the current config is accounted for + layout(); + + // Reflect the current autoSlide value + autoSlide = config.autoSlide; + + // Start auto-sliding if it's enabled + cueAutoSlide(); + + // Re-create the slide backgrounds + createBackgrounds(); + + // Write the current hash to the URL + writeURL(); + + sortAllFragments(); + + updateControls(); + updateProgress(); + updateBackground( true ); + updateSlideNumber(); + updateSlidesVisibility(); + + formatEmbeddedContent(); + + } + + /** + * Resets all vertical slides so that only the first + * is visible. + */ + function resetVerticalSlides() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + horizontalSlides.forEach( function( horizontalSlide ) { + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + verticalSlides.forEach( function( verticalSlide, y ) { + + if( y > 0 ) { + verticalSlide.classList.remove( 'present' ); + verticalSlide.classList.remove( 'past' ); + verticalSlide.classList.add( 'future' ); + verticalSlide.setAttribute( 'aria-hidden', 'true' ); + } + + } ); + + } ); + + } + + /** + * Sorts and formats all of fragments in the + * presentation. + */ + function sortAllFragments() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + horizontalSlides.forEach( function( horizontalSlide ) { + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + verticalSlides.forEach( function( verticalSlide, y ) { + + sortFragments( verticalSlide.querySelectorAll( '.fragment' ) ); + + } ); + + if( verticalSlides.length === 0 ) sortFragments( horizontalSlide.querySelectorAll( '.fragment' ) ); + + } ); + + } + + /** + * Updates one dimension of slides by showing the slide + * with the specified index. + * + * @param {String} selector A CSS selector that will fetch + * the group of slides we are working with + * @param {Number} index The index of the slide that should be + * shown + * + * @return {Number} The index of the slide that is now shown, + * might differ from the passed in index if it was out of + * bounds. + */ + function updateSlides( selector, index ) { + + // Select all slides and convert the NodeList result to + // an array + var slides = toArray( dom.wrapper.querySelectorAll( selector ) ), + slidesLength = slides.length; + + var printMode = isPrintingPDF(); + + if( slidesLength ) { + + // Should the index loop? + if( config.loop ) { + index %= slidesLength; + + if( index < 0 ) { + index = slidesLength + index; + } + } + + // Enforce max and minimum index bounds + index = Math.max( Math.min( index, slidesLength - 1 ), 0 ); + + for( var i = 0; i < slidesLength; i++ ) { + var element = slides[i]; + + var reverse = config.rtl && !isVerticalSlide( element ); + + element.classList.remove( 'past' ); + element.classList.remove( 'present' ); + element.classList.remove( 'future' ); + + // http://www.w3.org/html/wg/drafts/html/master/editing.html#the-hidden-attribute + element.setAttribute( 'hidden', '' ); + element.setAttribute( 'aria-hidden', 'true' ); + + // If this element contains vertical slides + if( element.querySelector( 'section' ) ) { + element.classList.add( 'stack' ); + } + + // If we're printing static slides, all slides are "present" + if( printMode ) { + element.classList.add( 'present' ); + continue; + } + + if( i < index ) { + // Any element previous to index is given the 'past' class + element.classList.add( reverse ? 'future' : 'past' ); + + if( config.fragments ) { + var pastFragments = toArray( element.querySelectorAll( '.fragment' ) ); + + // Show all fragments on prior slides + while( pastFragments.length ) { + var pastFragment = pastFragments.pop(); + pastFragment.classList.add( 'visible' ); + pastFragment.classList.remove( 'current-fragment' ); + } + } + } + else if( i > index ) { + // Any element subsequent to index is given the 'future' class + element.classList.add( reverse ? 'past' : 'future' ); + + if( config.fragments ) { + var futureFragments = toArray( element.querySelectorAll( '.fragment.visible' ) ); + + // No fragments in future slides should be visible ahead of time + while( futureFragments.length ) { + var futureFragment = futureFragments.pop(); + futureFragment.classList.remove( 'visible' ); + futureFragment.classList.remove( 'current-fragment' ); + } + } + } + } + + // Mark the current slide as present + slides[index].classList.add( 'present' ); + slides[index].removeAttribute( 'hidden' ); + slides[index].removeAttribute( 'aria-hidden' ); + + // If this slide has a state associated with it, add it + // onto the current state of the deck + var slideState = slides[index].getAttribute( 'data-state' ); + if( slideState ) { + state = state.concat( slideState.split( ' ' ) ); + } + + } + else { + // Since there are no slides we can't be anywhere beyond the + // zeroth index + index = 0; + } + + return index; + + } + + /** + * Optimization method; hide all slides that are far away + * from the present slide. + */ + function updateSlidesVisibility() { + + // Select all slides and convert the NodeList result to + // an array + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ), + horizontalSlidesLength = horizontalSlides.length, + distanceX, + distanceY; + + if( horizontalSlidesLength && typeof indexh !== 'undefined' ) { + + // The number of steps away from the present slide that will + // be visible + var viewDistance = isOverview() ? 10 : config.viewDistance; + + // Limit view distance on weaker devices + if( isMobileDevice ) { + viewDistance = isOverview() ? 6 : 2; + } + + // Limit view distance on weaker devices + if( isPrintingPDF() ) { + viewDistance = Number.MAX_VALUE; + } + + for( var x = 0; x < horizontalSlidesLength; x++ ) { + var horizontalSlide = horizontalSlides[x]; + + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ), + verticalSlidesLength = verticalSlides.length; + + // Loops so that it measures 1 between the first and last slides + distanceX = Math.abs( ( ( indexh || 0 ) - x ) % ( horizontalSlidesLength - viewDistance ) ) || 0; + + // Show the horizontal slide if it's within the view distance + if( distanceX < viewDistance ) { + showSlide( horizontalSlide ); + } + else { + hideSlide( horizontalSlide ); + } + + if( verticalSlidesLength ) { + + var oy = getPreviousVerticalIndex( horizontalSlide ); + + for( var y = 0; y < verticalSlidesLength; y++ ) { + var verticalSlide = verticalSlides[y]; + + distanceY = x === ( indexh || 0 ) ? Math.abs( ( indexv || 0 ) - y ) : Math.abs( y - oy ); + + if( distanceX + distanceY < viewDistance ) { + showSlide( verticalSlide ); + } + else { + hideSlide( verticalSlide ); + } + } + + } + } + + } + + } + + /** + * Updates the progress bar to reflect the current slide. + */ + function updateProgress() { + + // Update progress if enabled + if( config.progress && dom.progressbar ) { + + dom.progressbar.style.width = getProgress() * dom.wrapper.offsetWidth + 'px'; + + } + + } + + /** + * Updates the slide number div to reflect the current slide. + */ + function updateSlideNumber() { + + // Update slide number if enabled + if( config.slideNumber && dom.slideNumber) { + + // Display the number of the page using 'indexh - indexv' format + var indexString = indexh; + if( indexv > 0 ) { + indexString += ' - ' + indexv; + } + + dom.slideNumber.innerHTML = indexString; + } + + } + + /** + * Updates the state of all control/navigation arrows. + */ + function updateControls() { + + var routes = availableRoutes(); + var fragments = availableFragments(); + + // Remove the 'enabled' class from all directions + dom.controlsLeft.concat( dom.controlsRight ) + .concat( dom.controlsUp ) + .concat( dom.controlsDown ) + .concat( dom.controlsPrev ) + .concat( dom.controlsNext ).forEach( function( node ) { + node.classList.remove( 'enabled' ); + node.classList.remove( 'fragmented' ); + } ); + + // Add the 'enabled' class to the available routes + if( routes.left ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + if( routes.right ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + if( routes.up ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + if( routes.down ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + + // Prev/next buttons + if( routes.left || routes.up ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + if( routes.right || routes.down ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'enabled' ); } ); + + // Highlight fragment directions + if( currentSlide ) { + + // Always apply fragment decorator to prev/next buttons + if( fragments.prev ) dom.controlsPrev.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + if( fragments.next ) dom.controlsNext.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + + // Apply fragment decorators to directional buttons based on + // what slide axis they are in + if( isVerticalSlide( currentSlide ) ) { + if( fragments.prev ) dom.controlsUp.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + if( fragments.next ) dom.controlsDown.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + } + else { + if( fragments.prev ) dom.controlsLeft.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + if( fragments.next ) dom.controlsRight.forEach( function( el ) { el.classList.add( 'fragmented', 'enabled' ); } ); + } + + } + + } + + /** + * Updates the background elements to reflect the current + * slide. + * + * @param {Boolean} includeAll If true, the backgrounds of + * all vertical slides (not just the present) will be updated. + */ + function updateBackground( includeAll ) { + + var currentBackground = null; + + // Reverse past/future classes when in RTL mode + var horizontalPast = config.rtl ? 'future' : 'past', + horizontalFuture = config.rtl ? 'past' : 'future'; + + // Update the classes of all backgrounds to match the + // states of their slides (past/present/future) + toArray( dom.background.childNodes ).forEach( function( backgroundh, h ) { + + backgroundh.classList.remove( 'past' ); + backgroundh.classList.remove( 'present' ); + backgroundh.classList.remove( 'future' ); + + if( h < indexh ) { + backgroundh.classList.add( horizontalPast ); + } + else if ( h > indexh ) { + backgroundh.classList.add( horizontalFuture ); + } + else { + backgroundh.classList.add( 'present' ); + + // Store a reference to the current background element + currentBackground = backgroundh; + } + + if( includeAll || h === indexh ) { + toArray( backgroundh.querySelectorAll( '.slide-background' ) ).forEach( function( backgroundv, v ) { + + backgroundv.classList.remove( 'past' ); + backgroundv.classList.remove( 'present' ); + backgroundv.classList.remove( 'future' ); + + if( v < indexv ) { + backgroundv.classList.add( 'past' ); + } + else if ( v > indexv ) { + backgroundv.classList.add( 'future' ); + } + else { + backgroundv.classList.add( 'present' ); + + // Only if this is the present horizontal and vertical slide + if( h === indexh ) currentBackground = backgroundv; + } + + } ); + } + + } ); + + // Stop any currently playing video background + if( previousBackground ) { + + var previousVideo = previousBackground.querySelector( 'video' ); + if( previousVideo ) previousVideo.pause(); + + } + + if( currentBackground ) { + + // Start video playback + var currentVideo = currentBackground.querySelector( 'video' ); + if( currentVideo ) { + currentVideo.currentTime = 0; + currentVideo.play(); + } + + // Don't transition between identical backgrounds. This + // prevents unwanted flicker. + var previousBackgroundHash = previousBackground ? previousBackground.getAttribute( 'data-background-hash' ) : null; + var currentBackgroundHash = currentBackground.getAttribute( 'data-background-hash' ); + if( currentBackgroundHash && currentBackgroundHash === previousBackgroundHash && currentBackground !== previousBackground ) { + dom.background.classList.add( 'no-transition' ); + } + + previousBackground = currentBackground; + + } + + // If there's a background brightness flag for this slide, + // bubble it to the .reveal container + if( currentSlide ) { + [ 'has-light-background', 'has-dark-background' ].forEach( function( classToBubble ) { + if( currentSlide.classList.contains( classToBubble ) ) { + dom.wrapper.classList.add( classToBubble ); + } + else { + dom.wrapper.classList.remove( classToBubble ); + } + } ); + } + + // Allow the first background to apply without transition + setTimeout( function() { + dom.background.classList.remove( 'no-transition' ); + }, 1 ); + + } + + /** + * Updates the position of the parallax background based + * on the current slide index. + */ + function updateParallax() { + + if( config.parallaxBackgroundImage ) { + + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), + verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); + + var backgroundSize = dom.background.style.backgroundSize.split( ' ' ), + backgroundWidth, backgroundHeight; + + if( backgroundSize.length === 1 ) { + backgroundWidth = backgroundHeight = parseInt( backgroundSize[0], 10 ); + } + else { + backgroundWidth = parseInt( backgroundSize[0], 10 ); + backgroundHeight = parseInt( backgroundSize[1], 10 ); + } + + var slideWidth = dom.background.offsetWidth; + var horizontalSlideCount = horizontalSlides.length; + var horizontalOffset = -( backgroundWidth - slideWidth ) / ( horizontalSlideCount-1 ) * indexh; + + var slideHeight = dom.background.offsetHeight; + var verticalSlideCount = verticalSlides.length; + var verticalOffset = verticalSlideCount > 1 ? -( backgroundHeight - slideHeight ) / ( verticalSlideCount-1 ) * indexv : 0; + + dom.background.style.backgroundPosition = horizontalOffset + 'px ' + verticalOffset + 'px'; + + } + + } + + /** + * Called when the given slide is within the configured view + * distance. Shows the slide element and loads any content + * that is set to load lazily (data-src). + */ + function showSlide( slide ) { + + // Show the slide element + slide.style.display = 'block'; + + // Media elements with data-src attributes + toArray( slide.querySelectorAll( 'img[data-src], video[data-src], audio[data-src], iframe[data-src]' ) ).forEach( function( element ) { + element.setAttribute( 'src', element.getAttribute( 'data-src' ) ); + element.removeAttribute( 'data-src' ); + } ); + + // Media elements with children + toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( media ) { + var sources = 0; + + toArray( media.querySelectorAll( 'source[data-src]' ) ).forEach( function( source ) { + source.setAttribute( 'src', source.getAttribute( 'data-src' ) ); + source.removeAttribute( 'data-src' ); + sources += 1; + } ); + + // If we rewrote sources for this video/audio element, we need + // to manually tell it to load from its new origin + if( sources > 0 ) { + media.load(); + } + } ); + + + // Show the corresponding background element + var indices = getIndices( slide ); + var background = getSlideBackground( indices.h, indices.v ); + if( background ) { + background.style.display = 'block'; + + // If the background contains media, load it + if( background.hasAttribute( 'data-loaded' ) === false ) { + background.setAttribute( 'data-loaded', 'true' ); + + var backgroundImage = slide.getAttribute( 'data-background-image' ), + backgroundVideo = slide.getAttribute( 'data-background-video' ), + backgroundIframe = slide.getAttribute( 'data-background-iframe' ); + + // Images + if( backgroundImage ) { + background.style.backgroundImage = 'url('+ backgroundImage +')'; + } + // Videos + else if ( backgroundVideo && !isSpeakerNotes() ) { + var video = document.createElement( 'video' ); + + // Support comma separated lists of video sources + backgroundVideo.split( ',' ).forEach( function( source ) { + video.innerHTML += ''; + } ); + + background.appendChild( video ); + } + // Iframes + else if ( backgroundIframe ) { + var iframe = document.createElement( 'iframe' ); + iframe.setAttribute( 'src', backgroundIframe ); + iframe.style.width = '100%'; + iframe.style.height = '100%'; + iframe.style.maxHeight = '100%'; + iframe.style.maxWidth = '100%'; + + background.appendChild( iframe ); + } + } + } + + } + + /** + * Called when the given slide is moved outside of the + * configured view distance. + */ + function hideSlide( slide ) { + + // Hide the slide element + slide.style.display = 'none'; + + // Hide the corresponding background element + var indices = getIndices( slide ); + var background = getSlideBackground( indices.h, indices.v ); + if( background ) { + background.style.display = 'none'; + } + + } + + /** + * Determine what available routes there are for navigation. + * + * @return {Object} containing four booleans: left/right/up/down + */ + function availableRoutes() { + + var horizontalSlides = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ), + verticalSlides = dom.wrapper.querySelectorAll( VERTICAL_SLIDES_SELECTOR ); + + var routes = { + left: indexh > 0 || config.loop, + right: indexh < horizontalSlides.length - 1 || config.loop, + up: indexv > 0, + down: indexv < verticalSlides.length - 1 + }; + + // reverse horizontal controls for rtl + if( config.rtl ) { + var left = routes.left; + routes.left = routes.right; + routes.right = left; + } + + return routes; + + } + + /** + * Returns an object describing the available fragment + * directions. + * + * @return {Object} two boolean properties: prev/next + */ + function availableFragments() { + + if( currentSlide && config.fragments ) { + var fragments = currentSlide.querySelectorAll( '.fragment' ); + var hiddenFragments = currentSlide.querySelectorAll( '.fragment:not(.visible)' ); + + return { + prev: fragments.length - hiddenFragments.length > 0, + next: !!hiddenFragments.length + }; + } + else { + return { prev: false, next: false }; + } + + } + + /** + * Enforces origin-specific format rules for embedded media. + */ + function formatEmbeddedContent() { + + // YouTube frames must include "?enablejsapi=1" + toArray( dom.slides.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) { + var src = el.getAttribute( 'src' ); + if( !/enablejsapi\=1/gi.test( src ) ) { + el.setAttribute( 'src', src + ( !/\?/.test( src ) ? '?' : '&' ) + 'enablejsapi=1' ); + } + }); + + // Vimeo frames must include "?api=1" + toArray( dom.slides.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { + var src = el.getAttribute( 'src' ); + if( !/api\=1/gi.test( src ) ) { + el.setAttribute( 'src', src + ( !/\?/.test( src ) ? '?' : '&' ) + 'api=1' ); + } + }); + + } + + /** + * Start playback of any embedded content inside of + * the targeted slide. + */ + function startEmbeddedContent( slide ) { + + if( slide && !isSpeakerNotes() ) { + // HTML5 media elements + toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + if( el.hasAttribute( 'data-autoplay' ) ) { + el.play(); + } + } ); + + // iframe embeds + toArray( slide.querySelectorAll( 'iframe' ) ).forEach( function( el ) { + el.contentWindow.postMessage( 'slide:start', '*' ); + }); + + // YouTube embeds + toArray( slide.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) { + if( el.hasAttribute( 'data-autoplay' ) ) { + el.contentWindow.postMessage( '{"event":"command","func":"playVideo","args":""}', '*' ); + } + }); + + // Vimeo embeds + toArray( slide.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { + if( el.hasAttribute( 'data-autoplay' ) ) { + el.contentWindow.postMessage( '{"method":"play"}', '*' ); + } + }); + } + + } + + /** + * Stop playback of any embedded content inside of + * the targeted slide. + */ + function stopEmbeddedContent( slide ) { + + if( slide && slide.parentNode ) { + // HTML5 media elements + toArray( slide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) ) { + el.pause(); + } + } ); + + // iframe embeds + toArray( slide.querySelectorAll( 'iframe' ) ).forEach( function( el ) { + el.contentWindow.postMessage( 'slide:stop', '*' ); + }); + + // YouTube embeds + toArray( slide.querySelectorAll( 'iframe[src*="youtube.com/embed/"]' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) { + el.contentWindow.postMessage( '{"event":"command","func":"pauseVideo","args":""}', '*' ); + } + }); + + // Vimeo embeds + toArray( slide.querySelectorAll( 'iframe[src*="player.vimeo.com/"]' ) ).forEach( function( el ) { + if( !el.hasAttribute( 'data-ignore' ) && typeof el.contentWindow.postMessage === 'function' ) { + el.contentWindow.postMessage( '{"method":"pause"}', '*' ); + } + }); + } + + } + + /** + * Returns a value ranging from 0-1 that represents + * how far into the presentation we have navigated. + */ + function getProgress() { + + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + + // The number of past and total slides + var totalCount = getTotalSlides(); + var pastCount = 0; + + // Step through all slides and count the past ones + mainLoop: for( var i = 0; i < horizontalSlides.length; i++ ) { + + var horizontalSlide = horizontalSlides[i]; + var verticalSlides = toArray( horizontalSlide.querySelectorAll( 'section' ) ); + + for( var j = 0; j < verticalSlides.length; j++ ) { + + // Stop as soon as we arrive at the present + if( verticalSlides[j].classList.contains( 'present' ) ) { + break mainLoop; + } + + pastCount++; + + } + + // Stop as soon as we arrive at the present + if( horizontalSlide.classList.contains( 'present' ) ) { + break; + } + + // Don't count the wrapping section for vertical slides + if( horizontalSlide.classList.contains( 'stack' ) === false ) { + pastCount++; + } + + } + + if( currentSlide ) { + + var allFragments = currentSlide.querySelectorAll( '.fragment' ); + + // If there are fragments in the current slide those should be + // accounted for in the progress. + if( allFragments.length > 0 ) { + var visibleFragments = currentSlide.querySelectorAll( '.fragment.visible' ); + + // This value represents how big a portion of the slide progress + // that is made up by its fragments (0-1) + var fragmentWeight = 0.9; + + // Add fragment progress to the past slide count + pastCount += ( visibleFragments.length / allFragments.length ) * fragmentWeight; + } + + } + + return pastCount / ( totalCount - 1 ); + + } + + /** + * Checks if this presentation is running inside of the + * speaker notes window. + */ + function isSpeakerNotes() { + + return !!window.location.search.match( /receiver/gi ); + + } + + /** + * Reads the current URL (hash) and navigates accordingly. + */ + function readURL() { + + var hash = window.location.hash; + + // Attempt to parse the hash as either an index or name + var bits = hash.slice( 2 ).split( '/' ), + name = hash.replace( /#|\//gi, '' ); + + // If the first bit is invalid and there is a name we can + // assume that this is a named link + if( isNaN( parseInt( bits[0], 10 ) ) && name.length ) { + var element; + + // Ensure the named link is a valid HTML ID attribute + if( /^[a-zA-Z][\w:.-]*$/.test( name ) ) { + // Find the slide with the specified ID + element = document.querySelector( '#' + name ); + } + + if( element ) { + // Find the position of the named slide and navigate to it + var indices = Reveal.getIndices( element ); + slide( indices.h, indices.v ); + } + // If the slide doesn't exist, navigate to the current slide + else { + slide( indexh || 0, indexv || 0 ); + } + } + else { + // Read the index components of the hash + var h = parseInt( bits[0], 10 ) || 0, + v = parseInt( bits[1], 10 ) || 0; + + if( h !== indexh || v !== indexv ) { + slide( h, v ); + } + } + + } + + /** + * Updates the page URL (hash) to reflect the current + * state. + * + * @param {Number} delay The time in ms to wait before + * writing the hash + */ + function writeURL( delay ) { + + if( config.history ) { + + // Make sure there's never more than one timeout running + clearTimeout( writeURLTimeout ); + + // If a delay is specified, timeout this call + if( typeof delay === 'number' ) { + writeURLTimeout = setTimeout( writeURL, delay ); + } + else if( currentSlide ) { + var url = '/'; + + // Attempt to create a named link based on the slide's ID + var id = currentSlide.getAttribute( 'id' ); + if( id ) { + id = id.toLowerCase(); + id = id.replace( /[^a-zA-Z0-9\-\_\:\.]/g, '' ); + } + + // If the current slide has an ID, use that as a named link + if( typeof id === 'string' && id.length ) { + url = '/' + id; + } + // Otherwise use the /h/v index + else { + if( indexh > 0 || indexv > 0 ) url += indexh; + if( indexv > 0 ) url += '/' + indexv; + } + + window.location.hash = url; + } + } + + } + + /** + * Retrieves the h/v location of the current, or specified, + * slide. + * + * @param {HTMLElement} slide If specified, the returned + * index will be for this slide rather than the currently + * active one + * + * @return {Object} { h: , v: , f: } + */ + function getIndices( slide ) { + + // By default, return the current indices + var h = indexh, + v = indexv, + f; + + // If a slide is specified, return the indices of that slide + if( slide ) { + var isVertical = isVerticalSlide( slide ); + var slideh = isVertical ? slide.parentNode : slide; + + // Select all horizontal slides + var horizontalSlides = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ); + + // Now that we know which the horizontal slide is, get its index + h = Math.max( horizontalSlides.indexOf( slideh ), 0 ); + + // Assume we're not vertical + v = undefined; + + // If this is a vertical slide, grab the vertical index + if( isVertical ) { + v = Math.max( toArray( slide.parentNode.querySelectorAll( 'section' ) ).indexOf( slide ), 0 ); + } + } + + if( !slide && currentSlide ) { + var hasFragments = currentSlide.querySelectorAll( '.fragment' ).length > 0; + if( hasFragments ) { + var currentFragment = currentSlide.querySelector( '.current-fragment' ); + if( currentFragment && currentFragment.hasAttribute( 'data-fragment-index' ) ) { + f = parseInt( currentFragment.getAttribute( 'data-fragment-index' ), 10 ); + } + else { + f = currentSlide.querySelectorAll( '.fragment.visible' ).length - 1; + } + } + } + + return { h: h, v: v, f: f }; + + } + + /** + * Retrieves the total number of slides in this presentation. + */ + function getTotalSlides() { + + return dom.wrapper.querySelectorAll( SLIDES_SELECTOR + ':not(.stack)' ).length; + + } + + /** + * Returns the slide element matching the specified index. + */ + function getSlide( x, y ) { + + var horizontalSlide = dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR )[ x ]; + var verticalSlides = horizontalSlide && horizontalSlide.querySelectorAll( 'section' ); + + if( verticalSlides && verticalSlides.length && typeof y === 'number' ) { + return verticalSlides ? verticalSlides[ y ] : undefined; + } + + return horizontalSlide; + + } + + /** + * Returns the background element for the given slide. + * All slides, even the ones with no background properties + * defined, have a background element so as long as the + * index is valid an element will be returned. + */ + function getSlideBackground( x, y ) { + + // When printing to PDF the slide backgrounds are nested + // inside of the slides + if( isPrintingPDF() ) { + var slide = getSlide( x, y ); + if( slide ) { + var background = slide.querySelector( '.slide-background' ); + if( background && background.parentNode === slide ) { + return background; + } + } + + return undefined; + } + + var horizontalBackground = dom.wrapper.querySelectorAll( '.backgrounds>.slide-background' )[ x ]; + var verticalBackgrounds = horizontalBackground && horizontalBackground.querySelectorAll( '.slide-background' ); + + if( verticalBackgrounds && verticalBackgrounds.length && typeof y === 'number' ) { + return verticalBackgrounds ? verticalBackgrounds[ y ] : undefined; + } + + return horizontalBackground; + + } + + /** + * Retrieves the current state of the presentation as + * an object. This state can then be restored at any + * time. + */ + function getState() { + + var indices = getIndices(); + + return { + indexh: indices.h, + indexv: indices.v, + indexf: indices.f, + paused: isPaused(), + overview: isOverview() + }; + + } + + /** + * Restores the presentation to the given state. + * + * @param {Object} state As generated by getState() + */ + function setState( state ) { + + if( typeof state === 'object' ) { + slide( deserialize( state.indexh ), deserialize( state.indexv ), deserialize( state.indexf ) ); + + var pausedFlag = deserialize( state.paused ), + overviewFlag = deserialize( state.overview ); + + if( typeof pausedFlag === 'boolean' && pausedFlag !== isPaused() ) { + togglePause( pausedFlag ); + } + + if( typeof overviewFlag === 'boolean' && overviewFlag !== isOverview() ) { + toggleOverview( overviewFlag ); + } + } + + } + + /** + * Return a sorted fragments list, ordered by an increasing + * "data-fragment-index" attribute. + * + * Fragments will be revealed in the order that they are returned by + * this function, so you can use the index attributes to control the + * order of fragment appearance. + * + * To maintain a sensible default fragment order, fragments are presumed + * to be passed in document order. This function adds a "fragment-index" + * attribute to each node if such an attribute is not already present, + * and sets that attribute to an integer value which is the position of + * the fragment within the fragments list. + */ + function sortFragments( fragments ) { + + fragments = toArray( fragments ); + + var ordered = [], + unordered = [], + sorted = []; + + // Group ordered and unordered elements + fragments.forEach( function( fragment, i ) { + if( fragment.hasAttribute( 'data-fragment-index' ) ) { + var index = parseInt( fragment.getAttribute( 'data-fragment-index' ), 10 ); + + if( !ordered[index] ) { + ordered[index] = []; + } + + ordered[index].push( fragment ); + } + else { + unordered.push( [ fragment ] ); + } + } ); + + // Append fragments without explicit indices in their + // DOM order + ordered = ordered.concat( unordered ); + + // Manually count the index up per group to ensure there + // are no gaps + var index = 0; + + // Push all fragments in their sorted order to an array, + // this flattens the groups + ordered.forEach( function( group ) { + group.forEach( function( fragment ) { + sorted.push( fragment ); + fragment.setAttribute( 'data-fragment-index', index ); + } ); + + index ++; + } ); + + return sorted; + + } + + /** + * Navigate to the specified slide fragment. + * + * @param {Number} index The index of the fragment that + * should be shown, -1 means all are invisible + * @param {Number} offset Integer offset to apply to the + * fragment index + * + * @return {Boolean} true if a change was made in any + * fragments visibility as part of this call + */ + function navigateFragment( index, offset ) { + + if( currentSlide && config.fragments ) { + + var fragments = sortFragments( currentSlide.querySelectorAll( '.fragment' ) ); + if( fragments.length ) { + + // If no index is specified, find the current + if( typeof index !== 'number' ) { + var lastVisibleFragment = sortFragments( currentSlide.querySelectorAll( '.fragment.visible' ) ).pop(); + + if( lastVisibleFragment ) { + index = parseInt( lastVisibleFragment.getAttribute( 'data-fragment-index' ) || 0, 10 ); + } + else { + index = -1; + } + } + + // If an offset is specified, apply it to the index + if( typeof offset === 'number' ) { + index += offset; + } + + var fragmentsShown = [], + fragmentsHidden = []; + + toArray( fragments ).forEach( function( element, i ) { + + if( element.hasAttribute( 'data-fragment-index' ) ) { + i = parseInt( element.getAttribute( 'data-fragment-index' ), 10 ); + } + + // Visible fragments + if( i <= index ) { + if( !element.classList.contains( 'visible' ) ) fragmentsShown.push( element ); + element.classList.add( 'visible' ); + element.classList.remove( 'current-fragment' ); + + // Announce the fragments one by one to the Screen Reader + dom.statusDiv.textContent = element.textContent; + + if( i === index ) { + element.classList.add( 'current-fragment' ); + } + } + // Hidden fragments + else { + if( element.classList.contains( 'visible' ) ) fragmentsHidden.push( element ); + element.classList.remove( 'visible' ); + element.classList.remove( 'current-fragment' ); + } + + + } ); + + if( fragmentsHidden.length ) { + dispatchEvent( 'fragmenthidden', { fragment: fragmentsHidden[0], fragments: fragmentsHidden } ); + } + + if( fragmentsShown.length ) { + dispatchEvent( 'fragmentshown', { fragment: fragmentsShown[0], fragments: fragmentsShown } ); + } + + updateControls(); + updateProgress(); + + return !!( fragmentsShown.length || fragmentsHidden.length ); + + } + + } + + return false; + + } + + /** + * Navigate to the next slide fragment. + * + * @return {Boolean} true if there was a next fragment, + * false otherwise + */ + function nextFragment() { + + return navigateFragment( null, 1 ); + + } + + /** + * Navigate to the previous slide fragment. + * + * @return {Boolean} true if there was a previous fragment, + * false otherwise + */ + function previousFragment() { + + return navigateFragment( null, -1 ); + + } + + /** + * Cues a new automated slide if enabled in the config. + */ + function cueAutoSlide() { + + cancelAutoSlide(); + + if( currentSlide ) { + + var currentFragment = currentSlide.querySelector( '.current-fragment' ); + + var fragmentAutoSlide = currentFragment ? currentFragment.getAttribute( 'data-autoslide' ) : null; + var parentAutoSlide = currentSlide.parentNode ? currentSlide.parentNode.getAttribute( 'data-autoslide' ) : null; + var slideAutoSlide = currentSlide.getAttribute( 'data-autoslide' ); + + // Pick value in the following priority order: + // 1. Current fragment's data-autoslide + // 2. Current slide's data-autoslide + // 3. Parent slide's data-autoslide + // 4. Global autoSlide setting + if( fragmentAutoSlide ) { + autoSlide = parseInt( fragmentAutoSlide, 10 ); + } + else if( slideAutoSlide ) { + autoSlide = parseInt( slideAutoSlide, 10 ); + } + else if( parentAutoSlide ) { + autoSlide = parseInt( parentAutoSlide, 10 ); + } + else { + autoSlide = config.autoSlide; + } + + // If there are media elements with data-autoplay, + // automatically set the autoSlide duration to the + // length of that media + toArray( currentSlide.querySelectorAll( 'video, audio' ) ).forEach( function( el ) { + if( el.hasAttribute( 'data-autoplay' ) ) { + if( autoSlide && el.duration * 1000 > autoSlide ) { + autoSlide = ( el.duration * 1000 ) + 1000; + } + } + } ); + + // Cue the next auto-slide if: + // - There is an autoSlide value + // - Auto-sliding isn't paused by the user + // - The presentation isn't paused + // - The overview isn't active + // - The presentation isn't over + if( autoSlide && !autoSlidePaused && !isPaused() && !isOverview() && ( !Reveal.isLastSlide() || availableFragments().next || config.loop === true ) ) { + autoSlideTimeout = setTimeout( navigateNext, autoSlide ); + autoSlideStartTime = Date.now(); + } + + if( autoSlidePlayer ) { + autoSlidePlayer.setPlaying( autoSlideTimeout !== -1 ); + } + + } + + } + + /** + * Cancels any ongoing request to auto-slide. + */ + function cancelAutoSlide() { + + clearTimeout( autoSlideTimeout ); + autoSlideTimeout = -1; + + } + + function pauseAutoSlide() { + + if( autoSlide && !autoSlidePaused ) { + autoSlidePaused = true; + dispatchEvent( 'autoslidepaused' ); + clearTimeout( autoSlideTimeout ); + + if( autoSlidePlayer ) { + autoSlidePlayer.setPlaying( false ); + } + } + + } + + function resumeAutoSlide() { + + if( autoSlide && autoSlidePaused ) { + autoSlidePaused = false; + dispatchEvent( 'autoslideresumed' ); + cueAutoSlide(); + } + + } + + function navigateLeft() { + + // Reverse for RTL + if( config.rtl ) { + if( ( isOverview() || nextFragment() === false ) && availableRoutes().left ) { + slide( indexh + 1 ); + } + } + // Normal navigation + else if( ( isOverview() || previousFragment() === false ) && availableRoutes().left ) { + slide( indexh - 1 ); + } + + } + + function navigateRight() { + + // Reverse for RTL + if( config.rtl ) { + if( ( isOverview() || previousFragment() === false ) && availableRoutes().right ) { + slide( indexh - 1 ); + } + } + // Normal navigation + else if( ( isOverview() || nextFragment() === false ) && availableRoutes().right ) { + slide( indexh + 1 ); + } + + } + + function navigateUp() { + + // Prioritize hiding fragments + if( ( isOverview() || previousFragment() === false ) && availableRoutes().up ) { + slide( indexh, indexv - 1 ); + } + + } + + function navigateDown() { + + // Prioritize revealing fragments + if( ( isOverview() || nextFragment() === false ) && availableRoutes().down ) { + slide( indexh, indexv + 1 ); + } + + } + + /** + * Navigates backwards, prioritized in the following order: + * 1) Previous fragment + * 2) Previous vertical slide + * 3) Previous horizontal slide + */ + function navigatePrev() { + + // Prioritize revealing fragments + if( previousFragment() === false ) { + if( availableRoutes().up ) { + navigateUp(); + } + else { + // Fetch the previous horizontal slide, if there is one + var previousSlide; + + if( config.rtl ) { + previousSlide = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.future' ) ).pop(); + } + else { + previousSlide = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR + '.past' ) ).pop(); + } + + if( previousSlide ) { + var v = ( previousSlide.querySelectorAll( 'section' ).length - 1 ) || undefined; + var h = indexh - 1; + slide( h, v ); + } + } + } + + } + + /** + * The reverse of #navigatePrev(). + */ + function navigateNext() { + + // Prioritize revealing fragments + if( nextFragment() === false ) { + if( availableRoutes().down ) { + navigateDown(); + } + else if( config.rtl ) { + navigateLeft(); + } + else { + navigateRight(); + } + } + + // If auto-sliding is enabled we need to cue up + // another timeout + cueAutoSlide(); + + } + + + // --------------------------------------------------------------------// + // ----------------------------- EVENTS -------------------------------// + // --------------------------------------------------------------------// + + /** + * Called by all event handlers that are based on user + * input. + */ + function onUserInput( event ) { + + if( config.autoSlideStoppable ) { + pauseAutoSlide(); + } + + } + + /** + * Handler for the document level 'keypress' event. + */ + function onDocumentKeyPress( event ) { + + // Check if the pressed key is question mark + if( event.shiftKey && event.charCode === 63 ) { + if( dom.overlay ) { + closeOverlay(); + } + else { + showHelp( true ); + } + } + + } + + /** + * Handler for the document level 'keydown' event. + */ + function onDocumentKeyDown( event ) { + + // If there's a condition specified and it returns false, + // ignore this event + if( typeof config.keyboardCondition === 'function' && config.keyboardCondition() === false ) { + return true; + } + + // Remember if auto-sliding was paused so we can toggle it + var autoSlideWasPaused = autoSlidePaused; + + onUserInput( event ); + + // Check if there's a focused element that could be using + // the keyboard + var activeElementIsCE = document.activeElement && document.activeElement.contentEditable !== 'inherit'; + var activeElementIsInput = document.activeElement && document.activeElement.tagName && /input|textarea/i.test( document.activeElement.tagName ); + + // Disregard the event if there's a focused element or a + // keyboard modifier key is present + if( activeElementIsCE || activeElementIsInput || (event.shiftKey && event.keyCode !== 32) || event.altKey || event.ctrlKey || event.metaKey ) return; + + // While paused only allow "unpausing" keyboard events (b and .) + if( isPaused() && [66,190,191].indexOf( event.keyCode ) === -1 ) { + return false; + } + + var triggered = false; + + // 1. User defined key bindings + if( typeof config.keyboard === 'object' ) { + + for( var key in config.keyboard ) { + + // Check if this binding matches the pressed key + if( parseInt( key, 10 ) === event.keyCode ) { + + var value = config.keyboard[ key ]; + + // Callback function + if( typeof value === 'function' ) { + value.apply( null, [ event ] ); + } + // String shortcuts to reveal.js API + else if( typeof value === 'string' && typeof Reveal[ value ] === 'function' ) { + Reveal[ value ].call(); + } + + triggered = true; + + } + + } + + } + + // 2. System defined key bindings + if( triggered === false ) { + + // Assume true and try to prove false + triggered = true; + + switch( event.keyCode ) { + // p, page up + case 80: case 33: navigatePrev(); break; + // n, page down + case 78: case 34: navigateNext(); break; + // h, left + case 72: case 37: navigateLeft(); break; + // l, right + case 76: case 39: navigateRight(); break; + // k, up + case 75: case 38: navigateUp(); break; + // j, down + case 74: case 40: navigateDown(); break; + // home + case 36: slide( 0 ); break; + // end + case 35: slide( Number.MAX_VALUE ); break; + // space + case 32: isOverview() ? deactivateOverview() : event.shiftKey ? navigatePrev() : navigateNext(); break; + // return + case 13: isOverview() ? deactivateOverview() : triggered = false; break; + // two-spot, semicolon, b, period, Logitech presenter tools "black screen" button + case 58: case 59: case 66: case 190: case 191: togglePause(); break; + // f + case 70: enterFullscreen(); break; + // a + case 65: if ( config.autoSlideStoppable ) toggleAutoSlide( autoSlideWasPaused ); break; + default: + triggered = false; + } + + } + + // If the input resulted in a triggered action we should prevent + // the browsers default behavior + if( triggered ) { + event.preventDefault && event.preventDefault(); + } + // ESC or O key + else if ( ( event.keyCode === 27 || event.keyCode === 79 ) && features.transforms3d ) { + if( dom.overlay ) { + closeOverlay(); + } + else { + toggleOverview(); + } + + event.preventDefault && event.preventDefault(); + } + + // If auto-sliding is enabled we need to cue up + // another timeout + cueAutoSlide(); + + } + + /** + * Handler for the 'touchstart' event, enables support for + * swipe and pinch gestures. + */ + function onTouchStart( event ) { + + touch.startX = event.touches[0].clientX; + touch.startY = event.touches[0].clientY; + touch.startCount = event.touches.length; + + // If there's two touches we need to memorize the distance + // between those two points to detect pinching + if( event.touches.length === 2 && config.overview ) { + touch.startSpan = distanceBetween( { + x: event.touches[1].clientX, + y: event.touches[1].clientY + }, { + x: touch.startX, + y: touch.startY + } ); + } + + } + + /** + * Handler for the 'touchmove' event. + */ + function onTouchMove( event ) { + + // Each touch should only trigger one action + if( !touch.captured ) { + onUserInput( event ); + + var currentX = event.touches[0].clientX; + var currentY = event.touches[0].clientY; + + // If the touch started with two points and still has + // two active touches; test for the pinch gesture + if( event.touches.length === 2 && touch.startCount === 2 && config.overview ) { + + // The current distance in pixels between the two touch points + var currentSpan = distanceBetween( { + x: event.touches[1].clientX, + y: event.touches[1].clientY + }, { + x: touch.startX, + y: touch.startY + } ); + + // If the span is larger than the desire amount we've got + // ourselves a pinch + if( Math.abs( touch.startSpan - currentSpan ) > touch.threshold ) { + touch.captured = true; + + if( currentSpan < touch.startSpan ) { + activateOverview(); + } + else { + deactivateOverview(); + } + } + + event.preventDefault(); + + } + // There was only one touch point, look for a swipe + else if( event.touches.length === 1 && touch.startCount !== 2 ) { + + var deltaX = currentX - touch.startX, + deltaY = currentY - touch.startY; + + if( deltaX > touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) { + touch.captured = true; + navigateLeft(); + } + else if( deltaX < -touch.threshold && Math.abs( deltaX ) > Math.abs( deltaY ) ) { + touch.captured = true; + navigateRight(); + } + else if( deltaY > touch.threshold ) { + touch.captured = true; + navigateUp(); + } + else if( deltaY < -touch.threshold ) { + touch.captured = true; + navigateDown(); + } + + // If we're embedded, only block touch events if they have + // triggered an action + if( config.embedded ) { + if( touch.captured || isVerticalSlide( currentSlide ) ) { + event.preventDefault(); + } + } + // Not embedded? Block them all to avoid needless tossing + // around of the viewport in iOS + else { + event.preventDefault(); + } + + } + } + // There's a bug with swiping on some Android devices unless + // the default action is always prevented + else if( navigator.userAgent.match( /android/gi ) ) { + event.preventDefault(); + } + + } + + /** + * Handler for the 'touchend' event. + */ + function onTouchEnd( event ) { + + touch.captured = false; + + } + + /** + * Convert pointer down to touch start. + */ + function onPointerDown( event ) { + + if( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === "touch" ) { + event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; + onTouchStart( event ); + } + + } + + /** + * Convert pointer move to touch move. + */ + function onPointerMove( event ) { + + if( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === "touch" ) { + event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; + onTouchMove( event ); + } + + } + + /** + * Convert pointer up to touch end. + */ + function onPointerUp( event ) { + + if( event.pointerType === event.MSPOINTER_TYPE_TOUCH || event.pointerType === "touch" ) { + event.touches = [{ clientX: event.clientX, clientY: event.clientY }]; + onTouchEnd( event ); + } + + } + + /** + * Handles mouse wheel scrolling, throttled to avoid skipping + * multiple slides. + */ + function onDocumentMouseScroll( event ) { + + if( Date.now() - lastMouseWheelStep > 600 ) { + + lastMouseWheelStep = Date.now(); + + var delta = event.detail || -event.wheelDelta; + if( delta > 0 ) { + navigateNext(); + } + else { + navigatePrev(); + } + + } + + } + + /** + * Clicking on the progress bar results in a navigation to the + * closest approximate horizontal slide using this equation: + * + * ( clickX / presentationWidth ) * numberOfSlides + */ + function onProgressClicked( event ) { + + onUserInput( event ); + + event.preventDefault(); + + var slidesTotal = toArray( dom.wrapper.querySelectorAll( HORIZONTAL_SLIDES_SELECTOR ) ).length; + var slideIndex = Math.floor( ( event.clientX / dom.wrapper.offsetWidth ) * slidesTotal ); + + slide( slideIndex ); + + } + + /** + * Event handler for navigation control buttons. + */ + function onNavigateLeftClicked( event ) { event.preventDefault(); onUserInput(); navigateLeft(); } + function onNavigateRightClicked( event ) { event.preventDefault(); onUserInput(); navigateRight(); } + function onNavigateUpClicked( event ) { event.preventDefault(); onUserInput(); navigateUp(); } + function onNavigateDownClicked( event ) { event.preventDefault(); onUserInput(); navigateDown(); } + function onNavigatePrevClicked( event ) { event.preventDefault(); onUserInput(); navigatePrev(); } + function onNavigateNextClicked( event ) { event.preventDefault(); onUserInput(); navigateNext(); } + + /** + * Handler for the window level 'hashchange' event. + */ + function onWindowHashChange( event ) { + + readURL(); + + } + + /** + * Handler for the window level 'resize' event. + */ + function onWindowResize( event ) { + + layout(); + + } + + /** + * Handle for the window level 'visibilitychange' event. + */ + function onPageVisibilityChange( event ) { + + var isHidden = document.webkitHidden || + document.msHidden || + document.hidden; + + // If, after clicking a link or similar and we're coming back, + // focus the document.body to ensure we can use keyboard shortcuts + if( isHidden === false && document.activeElement !== document.body ) { + document.activeElement.blur(); + document.body.focus(); + } + + } + + /** + * Invoked when a slide is and we're in the overview. + */ + function onOverviewSlideClicked( event ) { + + // TODO There's a bug here where the event listeners are not + // removed after deactivating the overview. + if( eventsAreBound && isOverview() ) { + event.preventDefault(); + + var element = event.target; + + while( element && !element.nodeName.match( /section/gi ) ) { + element = element.parentNode; + } + + if( element && !element.classList.contains( 'disabled' ) ) { + + deactivateOverview(); + + if( element.nodeName.match( /section/gi ) ) { + var h = parseInt( element.getAttribute( 'data-index-h' ), 10 ), + v = parseInt( element.getAttribute( 'data-index-v' ), 10 ); + + slide( h, v ); + } + + } + } + + } + + /** + * Handles clicks on links that are set to preview in the + * iframe overlay. + */ + function onPreviewLinkClicked( event ) { + + if( event.currentTarget && event.currentTarget.hasAttribute( 'href' ) ) { + var url = event.currentTarget.getAttribute( 'href' ); + if( url ) { + showPreview( url ); + event.preventDefault(); + } + } + + } + + /** + * Handles click on the auto-sliding controls element. + */ + function onAutoSlidePlayerClick( event ) { + + // Replay + if( Reveal.isLastSlide() && config.loop === false ) { + slide( 0, 0 ); + resumeAutoSlide(); + } + // Resume + else if( autoSlidePaused ) { + resumeAutoSlide(); + } + // Pause + else { + pauseAutoSlide(); + } + + } + + + // --------------------------------------------------------------------// + // ------------------------ PLAYBACK COMPONENT ------------------------// + // --------------------------------------------------------------------// + + + /** + * Constructor for the playback component, which displays + * play/pause/progress controls. + * + * @param {HTMLElement} container The component will append + * itself to this + * @param {Function} progressCheck A method which will be + * called frequently to get the current progress on a range + * of 0-1 + */ + function Playback( container, progressCheck ) { + + // Cosmetics + this.diameter = 50; + this.thickness = 3; + + // Flags if we are currently playing + this.playing = false; + + // Current progress on a 0-1 range + this.progress = 0; + + // Used to loop the animation smoothly + this.progressOffset = 1; + + this.container = container; + this.progressCheck = progressCheck; + + this.canvas = document.createElement( 'canvas' ); + this.canvas.className = 'playback'; + this.canvas.width = this.diameter; + this.canvas.height = this.diameter; + this.context = this.canvas.getContext( '2d' ); + + this.container.appendChild( this.canvas ); + + this.render(); + + } + + Playback.prototype.setPlaying = function( value ) { + + var wasPlaying = this.playing; + + this.playing = value; + + // Start repainting if we weren't already + if( !wasPlaying && this.playing ) { + this.animate(); + } + else { + this.render(); + } + + }; + + Playback.prototype.animate = function() { + + var progressBefore = this.progress; + + this.progress = this.progressCheck(); + + // When we loop, offset the progress so that it eases + // smoothly rather than immediately resetting + if( progressBefore > 0.8 && this.progress < 0.2 ) { + this.progressOffset = this.progress; + } + + this.render(); + + if( this.playing ) { + features.requestAnimationFrameMethod.call( window, this.animate.bind( this ) ); + } + + }; + + /** + * Renders the current progress and playback state. + */ + Playback.prototype.render = function() { + + var progress = this.playing ? this.progress : 0, + radius = ( this.diameter / 2 ) - this.thickness, + x = this.diameter / 2, + y = this.diameter / 2, + iconSize = 14; + + // Ease towards 1 + this.progressOffset += ( 1 - this.progressOffset ) * 0.1; + + var endAngle = ( - Math.PI / 2 ) + ( progress * ( Math.PI * 2 ) ); + var startAngle = ( - Math.PI / 2 ) + ( this.progressOffset * ( Math.PI * 2 ) ); + + this.context.save(); + this.context.clearRect( 0, 0, this.diameter, this.diameter ); + + // Solid background color + this.context.beginPath(); + this.context.arc( x, y, radius + 2, 0, Math.PI * 2, false ); + this.context.fillStyle = 'rgba( 0, 0, 0, 0.4 )'; + this.context.fill(); + + // Draw progress track + this.context.beginPath(); + this.context.arc( x, y, radius, 0, Math.PI * 2, false ); + this.context.lineWidth = this.thickness; + this.context.strokeStyle = '#666'; + this.context.stroke(); + + if( this.playing ) { + // Draw progress on top of track + this.context.beginPath(); + this.context.arc( x, y, radius, startAngle, endAngle, false ); + this.context.lineWidth = this.thickness; + this.context.strokeStyle = '#fff'; + this.context.stroke(); + } + + this.context.translate( x - ( iconSize / 2 ), y - ( iconSize / 2 ) ); + + // Draw play/pause icons + if( this.playing ) { + this.context.fillStyle = '#fff'; + this.context.fillRect( 0, 0, iconSize / 2 - 2, iconSize ); + this.context.fillRect( iconSize / 2 + 2, 0, iconSize / 2 - 2, iconSize ); + } + else { + this.context.beginPath(); + this.context.translate( 2, 0 ); + this.context.moveTo( 0, 0 ); + this.context.lineTo( iconSize - 2, iconSize / 2 ); + this.context.lineTo( 0, iconSize ); + this.context.fillStyle = '#fff'; + this.context.fill(); + } + + this.context.restore(); + + }; + + Playback.prototype.on = function( type, listener ) { + this.canvas.addEventListener( type, listener, false ); + }; + + Playback.prototype.off = function( type, listener ) { + this.canvas.removeEventListener( type, listener, false ); + }; + + Playback.prototype.destroy = function() { + + this.playing = false; + + if( this.canvas.parentNode ) { + this.container.removeChild( this.canvas ); + } + + }; + + + // --------------------------------------------------------------------// + // ------------------------------- API --------------------------------// + // --------------------------------------------------------------------// + + + Reveal = { + initialize: initialize, + configure: configure, + sync: sync, + + // Navigation methods + slide: slide, + left: navigateLeft, + right: navigateRight, + up: navigateUp, + down: navigateDown, + prev: navigatePrev, + next: navigateNext, + + // Fragment methods + navigateFragment: navigateFragment, + prevFragment: previousFragment, + nextFragment: nextFragment, + + // Deprecated aliases + navigateTo: slide, + navigateLeft: navigateLeft, + navigateRight: navigateRight, + navigateUp: navigateUp, + navigateDown: navigateDown, + navigatePrev: navigatePrev, + navigateNext: navigateNext, + + // Forces an update in slide layout + layout: layout, + + // Returns an object with the available routes as booleans (left/right/top/bottom) + availableRoutes: availableRoutes, + + // Returns an object with the available fragments as booleans (prev/next) + availableFragments: availableFragments, + + // Toggles the overview mode on/off + toggleOverview: toggleOverview, + + // Toggles the "black screen" mode on/off + togglePause: togglePause, + + // Toggles the auto slide mode on/off + toggleAutoSlide: toggleAutoSlide, + + // State checks + isOverview: isOverview, + isPaused: isPaused, + isAutoSliding: isAutoSliding, + + // Adds or removes all internal event listeners (such as keyboard) + addEventListeners: addEventListeners, + removeEventListeners: removeEventListeners, + + // Facility for persisting and restoring the presentation state + getState: getState, + setState: setState, + + // Presentation progress on range of 0-1 + getProgress: getProgress, + + // Returns the indices of the current, or specified, slide + getIndices: getIndices, + + getTotalSlides: getTotalSlides, + + // Returns the slide element at the specified index + getSlide: getSlide, + + // Returns the slide background element at the specified index + getSlideBackground: getSlideBackground, + + // Returns the previous slide element, may be null + getPreviousSlide: function() { + return previousSlide; + }, + + // Returns the current slide element + getCurrentSlide: function() { + return currentSlide; + }, + + // Returns the current scale of the presentation content + getScale: function() { + return scale; + }, + + // Returns the current configuration object + getConfig: function() { + return config; + }, + + // Helper method, retrieves query string as a key/value hash + getQueryHash: function() { + var query = {}; + + location.search.replace( /[A-Z0-9]+?=([\w\.%-]*)/gi, function(a) { + query[ a.split( '=' ).shift() ] = a.split( '=' ).pop(); + } ); + + // Basic deserialization + for( var i in query ) { + var value = query[ i ]; + + query[ i ] = deserialize( unescape( value ) ); + } + + return query; + }, + + // Returns true if we're currently on the first slide + isFirstSlide: function() { + return ( indexh === 0 && indexv === 0 ); + }, + + // Returns true if we're currently on the last slide + isLastSlide: function() { + if( currentSlide ) { + // Does this slide has next a sibling? + if( currentSlide.nextElementSibling ) return false; + + // If it's vertical, does its parent have a next sibling? + if( isVerticalSlide( currentSlide ) && currentSlide.parentNode.nextElementSibling ) return false; + + return true; + } + + return false; + }, + + // Checks if reveal.js has been loaded and is ready for use + isReady: function() { + return loaded; + }, + + // Forward event binding to the reveal DOM element + addEventListener: function( type, listener, useCapture ) { + if( 'addEventListener' in window ) { + ( dom.wrapper || document.querySelector( '.reveal' ) ).addEventListener( type, listener, useCapture ); + } + }, + removeEventListener: function( type, listener, useCapture ) { + if( 'addEventListener' in window ) { + ( dom.wrapper || document.querySelector( '.reveal' ) ).removeEventListener( type, listener, useCapture ); + } + }, + + // Programatically triggers a keyboard event + triggerKey: function( keyCode ) { + onDocumentKeyDown( { keyCode: keyCode } ); + } + }; + + return Reveal; + +})); diff --git a/presentation/plugin/highlight/highlight.js b/presentation/plugin/highlight/highlight.js new file mode 100644 index 000000000..54b1c9060 --- /dev/null +++ b/presentation/plugin/highlight/highlight.js @@ -0,0 +1,30 @@ +// START CUSTOM REVEAL.JS INTEGRATION +(function() { + if( typeof window.addEventListener === 'function' ) { + var hljs_nodes = document.querySelectorAll( 'pre code' ); + + for( var i = 0, len = hljs_nodes.length; i < len; i++ ) { + var element = hljs_nodes[i]; + + // trim whitespace if data-trim attribute is present + if( element.hasAttribute( 'data-trim' ) && typeof element.innerHTML.trim === 'function' ) { + element.innerHTML = element.innerHTML.trim(); + } + + // Now escape html unless prevented by author + if( ! element.hasAttribute( 'data-noescape' )) { + element.innerHTML = element.innerHTML.replace(//g,">"); + } + + // re-highlight when focus is lost (for edited code) + element.addEventListener( 'focusout', function( event ) { + hljs.highlightBlock( event.currentTarget ); + }, false ); + } + } +})(); +// END CUSTOM REVEAL.JS INTEGRATION + +// highlight.js v8.2 with support for all available languages + +var hljs=new function(){function j(v){return v.replace(/&/gm,"&").replace(//gm,">")}function t(v){return v.nodeName.toLowerCase()}function h(w,x){var v=w&&w.exec(x);return v&&v.index==0}function r(w){var v=(w.className+" "+(w.parentNode?w.parentNode.className:"")).split(/\s+/);v=v.map(function(x){return x.replace(/^lang(uage)?-/,"")});return v.filter(function(x){return i(x)||/no(-?)highlight/.test(x)})[0]}function o(x,y){var v={};for(var w in x){v[w]=x[w]}if(y){for(var w in y){v[w]=y[w]}}return v}function u(x){var v=[];(function w(y,z){for(var A=y.firstChild;A;A=A.nextSibling){if(A.nodeType==3){z+=A.nodeValue.length}else{if(A.nodeType==1){v.push({event:"start",offset:z,node:A});z=w(A,z);if(!t(A).match(/br|hr|img|input/)){v.push({event:"stop",offset:z,node:A})}}}}return z})(x,0);return v}function q(w,y,C){var x=0;var F="";var z=[];function B(){if(!w.length||!y.length){return w.length?w:y}if(w[0].offset!=y[0].offset){return(w[0].offset"}function E(G){F+=""}function v(G){(G.event=="start"?A:E)(G.node)}while(w.length||y.length){var D=B();F+=j(C.substr(x,D[0].offset-x));x=D[0].offset;if(D==w){z.reverse().forEach(E);do{v(D.splice(0,1)[0]);D=B()}while(D==w&&D.length&&D[0].offset==x);z.reverse().forEach(A)}else{if(D[0].event=="start"){z.push(D[0].node)}else{z.pop()}v(D.splice(0,1)[0])}}return F+j(C.substr(x))}function m(y){function v(z){return(z&&z.source)||z}function w(A,z){return RegExp(v(A),"m"+(y.cI?"i":"")+(z?"g":""))}function x(D,C){if(D.compiled){return}D.compiled=true;D.k=D.k||D.bK;if(D.k){var z={};var E=function(G,F){if(y.cI){F=F.toLowerCase()}F.split(" ").forEach(function(H){var I=H.split("|");z[I[0]]=[G,I[1]?Number(I[1]):1]})};if(typeof D.k=="string"){E("keyword",D.k)}else{Object.keys(D.k).forEach(function(F){E(F,D.k[F])})}D.k=z}D.lR=w(D.l||/\b[A-Za-z0-9_]+\b/,true);if(C){if(D.bK){D.b="\\b("+D.bK.split(" ").join("|")+")\\b"}if(!D.b){D.b=/\B|\b/}D.bR=w(D.b);if(!D.e&&!D.eW){D.e=/\B|\b/}if(D.e){D.eR=w(D.e)}D.tE=v(D.e)||"";if(D.eW&&C.tE){D.tE+=(D.e?"|":"")+C.tE}}if(D.i){D.iR=w(D.i)}if(D.r===undefined){D.r=1}if(!D.c){D.c=[]}var B=[];D.c.forEach(function(F){if(F.v){F.v.forEach(function(G){B.push(o(F,G))})}else{B.push(F=="self"?D:F)}});D.c=B;D.c.forEach(function(F){x(F,D)});if(D.starts){x(D.starts,C)}var A=D.c.map(function(F){return F.bK?"\\.?("+F.b+")\\.?":F.b}).concat([D.tE,D.i]).map(v).filter(Boolean);D.t=A.length?w(A.join("|"),true):{exec:function(F){return null}}}x(y)}function c(T,L,J,R){function v(V,W){for(var U=0;U";V+=aa+'">';return V+Y+Z}function N(){if(!I.k){return j(C)}var U="";var X=0;I.lR.lastIndex=0;var V=I.lR.exec(C);while(V){U+=j(C.substr(X,V.index-X));var W=E(I,V);if(W){H+=W[1];U+=w(W[0],j(V[0]))}else{U+=j(V[0])}X=I.lR.lastIndex;V=I.lR.exec(C)}return U+j(C.substr(X))}function F(){if(I.sL&&!f[I.sL]){return j(C)}var U=I.sL?c(I.sL,C,true,S):e(C);if(I.r>0){H+=U.r}if(I.subLanguageMode=="continuous"){S=U.top}return w(U.language,U.value,false,true)}function Q(){return I.sL!==undefined?F():N()}function P(W,V){var U=W.cN?w(W.cN,"",true):"";if(W.rB){D+=U;C=""}else{if(W.eB){D+=j(V)+U;C=""}else{D+=U;C=V}}I=Object.create(W,{parent:{value:I}})}function G(U,Y){C+=U;if(Y===undefined){D+=Q();return 0}var W=v(Y,I);if(W){D+=Q();P(W,Y);return W.rB?0:Y.length}var X=z(I,Y);if(X){var V=I;if(!(V.rE||V.eE)){C+=Y}D+=Q();do{if(I.cN){D+=""}H+=I.r;I=I.parent}while(I!=X.parent);if(V.eE){D+=j(Y)}C="";if(X.starts){P(X.starts,"")}return V.rE?0:Y.length}if(A(Y,I)){throw new Error('Illegal lexeme "'+Y+'" for mode "'+(I.cN||"")+'"')}C+=Y;return Y.length||1}var M=i(T);if(!M){throw new Error('Unknown language: "'+T+'"')}m(M);var I=R||M;var S;var D="";for(var K=I;K!=M;K=K.parent){if(K.cN){D=w(K.cN,"",true)+D}}var C="";var H=0;try{var B,y,x=0;while(true){I.t.lastIndex=x;B=I.t.exec(L);if(!B){break}y=G(L.substr(x,B.index-x),B[0]);x=B.index+y}G(L.substr(x));for(var K=I;K.parent;K=K.parent){if(K.cN){D+=""}}return{r:H,value:D,language:T,top:I}}catch(O){if(O.message.indexOf("Illegal")!=-1){return{r:0,value:j(L)}}else{throw O}}}function e(y,x){x=x||b.languages||Object.keys(f);var v={r:0,value:j(y)};var w=v;x.forEach(function(z){if(!i(z)){return}var A=c(z,y,false);A.language=z;if(A.r>w.r){w=A}if(A.r>v.r){w=v;v=A}});if(w.language){v.second_best=w}return v}function g(v){if(b.tabReplace){v=v.replace(/^((<[^>]+>|\t)+)/gm,function(w,z,y,x){return z.replace(/\t/g,b.tabReplace)})}if(b.useBR){v=v.replace(/\n/g,"
")}return v}function p(A){var B=r(A);if(/no(-?)highlight/.test(B)){return}var y;if(b.useBR){y=document.createElementNS("http://www.w3.org/1999/xhtml","div");y.innerHTML=A.innerHTML.replace(/\n/g,"").replace(//g,"\n")}else{y=A}var z=y.textContent;var v=B?c(B,z,true):e(z);var x=u(y);if(x.length){var w=document.createElementNS("http://www.w3.org/1999/xhtml","div");w.innerHTML=v.value;v.value=q(x,u(w),z)}v.value=g(v.value);A.innerHTML=v.value;A.className+=" hljs "+(!B&&v.language||"");A.result={language:v.language,re:v.r};if(v.second_best){A.second_best={language:v.second_best.language,re:v.second_best.r}}}var b={classPrefix:"hljs-",tabReplace:null,useBR:false,languages:undefined};function s(v){b=o(b,v)}function l(){if(l.called){return}l.called=true;var v=document.querySelectorAll("pre code");Array.prototype.forEach.call(v,p)}function a(){addEventListener("DOMContentLoaded",l,false);addEventListener("load",l,false)}var f={};var n={};function d(v,x){var w=f[v]=x(this);if(w.aliases){w.aliases.forEach(function(y){n[y]=v})}}function k(){return Object.keys(f)}function i(v){return f[v]||f[n[v]]}this.highlight=c;this.highlightAuto=e;this.fixMarkup=g;this.highlightBlock=p;this.configure=s;this.initHighlighting=l;this.initHighlightingOnLoad=a;this.registerLanguage=d;this.listLanguages=k;this.getLanguage=i;this.inherit=o;this.IR="[a-zA-Z][a-zA-Z0-9_]*";this.UIR="[a-zA-Z_][a-zA-Z0-9_]*";this.NR="\\b\\d+(\\.\\d+)?";this.CNR="(\\b0[xX][a-fA-F0-9]+|(\\b\\d+(\\.\\d*)?|\\.\\d+)([eE][-+]?\\d+)?)";this.BNR="\\b(0b[01]+)";this.RSR="!|!=|!==|%|%=|&|&&|&=|\\*|\\*=|\\+|\\+=|,|-|-=|/=|/|:|;|<<|<<=|<=|<|===|==|=|>>>=|>>=|>=|>>>|>>|>|\\?|\\[|\\{|\\(|\\^|\\^=|\\||\\|=|\\|\\||~";this.BE={b:"\\\\[\\s\\S]",r:0};this.ASM={cN:"string",b:"'",e:"'",i:"\\n",c:[this.BE]};this.QSM={cN:"string",b:'"',e:'"',i:"\\n",c:[this.BE]};this.PWM={b:/\b(a|an|the|are|I|I'm|isn't|don't|doesn't|won't|but|just|should|pretty|simply|enough|gonna|going|wtf|so|such)\b/};this.CLCM={cN:"comment",b:"//",e:"$",c:[this.PWM]};this.CBCM={cN:"comment",b:"/\\*",e:"\\*/",c:[this.PWM]};this.HCM={cN:"comment",b:"#",e:"$",c:[this.PWM]};this.NM={cN:"number",b:this.NR,r:0};this.CNM={cN:"number",b:this.CNR,r:0};this.BNM={cN:"number",b:this.BNR,r:0};this.CSSNM={cN:"number",b:this.NR+"(%|em|ex|ch|rem|vw|vh|vmin|vmax|cm|mm|in|pt|pc|px|deg|grad|rad|turn|s|ms|Hz|kHz|dpi|dpcm|dppx)?",r:0};this.RM={cN:"regexp",b:/\//,e:/\/[gim]*/,i:/\n/,c:[this.BE,{b:/\[/,e:/\]/,r:0,c:[this.BE]}]};this.TM={cN:"title",b:this.IR,r:0};this.UTM={cN:"title",b:this.UIR,r:0}}();hljs.registerLanguage("bash",function(b){var a={cN:"variable",v:[{b:/\$[\w\d#@][\w\d_]*/},{b:/\$\{(.*?)\}/}]};var d={cN:"string",b:/"/,e:/"/,c:[b.BE,a,{cN:"variable",b:/\$\(/,e:/\)/,c:[b.BE]}]};var c={cN:"string",b:/'/,e:/'/};return{aliases:["sh","zsh"],l:/-?[a-z\.]+/,k:{keyword:"if then else elif fi for break continue while in do done exit return set declare case esac export exec",literal:"true false",built_in:"printf echo read cd pwd pushd popd dirs let eval unset typeset readonly getopts source shopt caller type hash bind help sudo",operator:"-ne -eq -lt -gt -f -d -e -s -l -a"},c:[{cN:"shebang",b:/^#![^\n]+sh\s*$/,r:10},{cN:"function",b:/\w[\w\d_]*\s*\(\s*\)\s*\{/,rB:true,c:[b.inherit(b.TM,{b:/\w[\w\d_]*/})],r:0},b.HCM,b.NM,d,c,a]}});hljs.registerLanguage("fix",function(a){return{c:[{b:/[^\u2401\u0001]+/,e:/[\u2401\u0001]/,eE:true,rB:true,rE:false,c:[{b:/([^\u2401\u0001=]+)/,e:/=([^\u2401\u0001=]+)/,rE:true,rB:false,cN:"attribute"},{b:/=/,e:/([\u2401\u0001])/,eE:true,eB:true,cN:"string"}]}],cI:true}});hljs.registerLanguage("nsis",function(a){var c={cN:"symbol",b:"\\$(ADMINTOOLS|APPDATA|CDBURN_AREA|CMDLINE|COMMONFILES32|COMMONFILES64|COMMONFILES|COOKIES|DESKTOP|DOCUMENTS|EXEDIR|EXEFILE|EXEPATH|FAVORITES|FONTS|HISTORY|HWNDPARENT|INSTDIR|INTERNET_CACHE|LANGUAGE|LOCALAPPDATA|MUSIC|NETHOOD|OUTDIR|PICTURES|PLUGINSDIR|PRINTHOOD|PROFILE|PROGRAMFILES32|PROGRAMFILES64|PROGRAMFILES|QUICKLAUNCH|RECENT|RESOURCES_LOCALIZED|RESOURCES|SENDTO|SMPROGRAMS|SMSTARTUP|STARTMENU|SYSDIR|TEMP|TEMPLATES|VIDEOS|WINDIR)"};var b={cN:"constant",b:"\\$+{[a-zA-Z0-9_]+}"};var f={cN:"variable",b:"\\$+[a-zA-Z0-9_]+",i:"\\(\\){}"};var e={cN:"constant",b:"\\$+\\([a-zA-Z0-9_]+\\)"};var g={cN:"params",b:"(ARCHIVE|FILE_ATTRIBUTE_ARCHIVE|FILE_ATTRIBUTE_NORMAL|FILE_ATTRIBUTE_OFFLINE|FILE_ATTRIBUTE_READONLY|FILE_ATTRIBUTE_SYSTEM|FILE_ATTRIBUTE_TEMPORARY|HKCR|HKCU|HKDD|HKEY_CLASSES_ROOT|HKEY_CURRENT_CONFIG|HKEY_CURRENT_USER|HKEY_DYN_DATA|HKEY_LOCAL_MACHINE|HKEY_PERFORMANCE_DATA|HKEY_USERS|HKLM|HKPD|HKU|IDABORT|IDCANCEL|IDIGNORE|IDNO|IDOK|IDRETRY|IDYES|MB_ABORTRETRYIGNORE|MB_DEFBUTTON1|MB_DEFBUTTON2|MB_DEFBUTTON3|MB_DEFBUTTON4|MB_ICONEXCLAMATION|MB_ICONINFORMATION|MB_ICONQUESTION|MB_ICONSTOP|MB_OK|MB_OKCANCEL|MB_RETRYCANCEL|MB_RIGHT|MB_RTLREADING|MB_SETFOREGROUND|MB_TOPMOST|MB_USERICON|MB_YESNO|NORMAL|OFFLINE|READONLY|SHCTX|SHELL_CONTEXT|SYSTEM|TEMPORARY)"};var d={cN:"constant",b:"\\!(addincludedir|addplugindir|appendfile|cd|define|delfile|echo|else|endif|error|execute|finalize|getdllversionsystem|ifdef|ifmacrodef|ifmacrondef|ifndef|if|include|insertmacro|macroend|macro|packhdr|searchparse|searchreplace|tempfile|undef|verbose|warning)"};return{cI:false,k:{keyword:"Abort AddBrandingImage AddSize AllowRootDirInstall AllowSkipFiles AutoCloseWindow BGFont BGGradient BrandingText BringToFront Call CallInstDLL Caption ChangeUI CheckBitmap ClearErrors CompletedText ComponentText CopyFiles CRCCheck CreateDirectory CreateFont CreateShortCut Delete DeleteINISec DeleteINIStr DeleteRegKey DeleteRegValue DetailPrint DetailsButtonText DirText DirVar DirVerify EnableWindow EnumRegKey EnumRegValue Exch Exec ExecShell ExecWait ExpandEnvStrings File FileBufSize FileClose FileErrorText FileOpen FileRead FileReadByte FileReadUTF16LE FileReadWord FileSeek FileWrite FileWriteByte FileWriteUTF16LE FileWriteWord FindClose FindFirst FindNext FindWindow FlushINI FunctionEnd GetCurInstType GetCurrentAddress GetDlgItem GetDLLVersion GetDLLVersionLocal GetErrorLevel GetFileTime GetFileTimeLocal GetFullPathName GetFunctionAddress GetInstDirError GetLabelAddress GetTempFileName Goto HideWindow Icon IfAbort IfErrors IfFileExists IfRebootFlag IfSilent InitPluginsDir InstallButtonText InstallColors InstallDir InstallDirRegKey InstProgressFlags InstType InstTypeGetText InstTypeSetText IntCmp IntCmpU IntFmt IntOp IsWindow LangString LicenseBkColor LicenseData LicenseForceSelection LicenseLangString LicenseText LoadLanguageFile LockWindow LogSet LogText ManifestDPIAware ManifestSupportedOS MessageBox MiscButtonText Name Nop OutFile Page PageCallbacks PageExEnd Pop Push Quit ReadEnvStr ReadINIStr ReadRegDWORD ReadRegStr Reboot RegDLL Rename RequestExecutionLevel ReserveFile Return RMDir SearchPath SectionEnd SectionGetFlags SectionGetInstTypes SectionGetSize SectionGetText SectionGroupEnd SectionIn SectionSetFlags SectionSetInstTypes SectionSetSize SectionSetText SendMessage SetAutoClose SetBrandingImage SetCompress SetCompressor SetCompressorDictSize SetCtlColors SetCurInstType SetDatablockOptimize SetDateSave SetDetailsPrint SetDetailsView SetErrorLevel SetErrors SetFileAttributes SetFont SetOutPath SetOverwrite SetPluginUnload SetRebootFlag SetRegView SetShellVarContext SetSilent ShowInstDetails ShowUninstDetails ShowWindow SilentInstall SilentUnInstall Sleep SpaceTexts StrCmp StrCmpS StrCpy StrLen SubCaption SubSectionEnd Unicode UninstallButtonText UninstallCaption UninstallIcon UninstallSubCaption UninstallText UninstPage UnRegDLL Var VIAddVersionKey VIFileVersion VIProductVersion WindowIcon WriteINIStr WriteRegBin WriteRegDWORD WriteRegExpandStr WriteRegStr WriteUninstaller XPStyle",literal:"admin all auto both colored current false force hide highest lastused leave listonly none normal notset off on open print show silent silentlog smooth textonly true user "},c:[a.HCM,a.CBCM,{cN:"string",b:'"',e:'"',i:"\\n",c:[{cN:"symbol",b:"\\$(\\\\(n|r|t)|\\$)"},c,b,f,e]},{cN:"comment",b:";",e:"$",r:0},{cN:"function",bK:"Function PageEx Section SectionGroup SubSection",e:"$"},d,b,f,e,g,a.NM,{cN:"literal",b:a.IR+"::"+a.IR}]}});hljs.registerLanguage("haxe",function(a){var c="[a-zA-Z_$][a-zA-Z0-9_$]*";var b="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";return{aliases:["hx"],k:{keyword:"break callback case cast catch class continue default do dynamic else enum extends extern for function here if implements import in inline interface never new override package private public return static super switch this throw trace try typedef untyped using var while",literal:"true false null"},c:[a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{cN:"class",bK:"class interface",e:"{",eE:true,c:[{bK:"extends implements"},a.TM]},{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end error"},{cN:"function",bK:"function",e:"[{;]",eE:true,i:"\\S",c:[a.TM,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,a.CLCM,a.CBCM]},{cN:"type",b:":",e:b,r:10}]}]}});hljs.registerLanguage("erlang",function(i){var c="[a-z'][a-zA-Z0-9_']*";var o="("+c+":"+c+"|"+c+")";var f={keyword:"after and andalso|10 band begin bnot bor bsl bzr bxor case catch cond div end fun if let not of orelse|10 query receive rem try when xor",literal:"false true"};var l={cN:"comment",b:"%",e:"$"};var e={cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0};var g={b:"fun\\s+"+c+"/\\d+"};var n={b:o+"\\(",e:"\\)",rB:true,r:0,c:[{cN:"function_name",b:o,r:0},{b:"\\(",e:"\\)",eW:true,rE:true,r:0}]};var h={cN:"tuple",b:"{",e:"}",r:0};var a={cN:"variable",b:"\\b_([A-Z][A-Za-z0-9_]*)?",r:0};var m={cN:"variable",b:"[A-Z][a-zA-Z0-9_]*",r:0};var b={b:"#"+i.UIR,r:0,rB:true,c:[{cN:"record_name",b:"#"+i.UIR,r:0},{b:"{",e:"}",r:0}]};var k={bK:"fun receive if try case",e:"end",k:f};k.c=[l,g,i.inherit(i.ASM,{cN:""}),k,n,i.QSM,e,h,a,m,b];var j=[l,g,k,n,i.QSM,e,h,a,m,b];n.c[1].c=j;h.c=j;b.c[1].c=j;var d={cN:"params",b:"\\(",e:"\\)",c:j};return{aliases:["erl"],k:f,i:"(",rB:true,i:"\\(|#|//|/\\*|\\\\|:|;",c:[d,i.inherit(i.TM,{b:c})],starts:{e:";|\\.",k:f,c:j}},l,{cN:"pp",b:"^-",e:"\\.",r:0,eE:true,rB:true,l:"-"+i.IR,k:"-module -record -undef -export -ifdef -ifndef -author -copyright -doc -vsn -import -include -include_lib -compile -define -else -endif -file -behaviour -behavior -spec",c:[d]},e,i.QSM,b,a,m,h,{b:/\.$/}]}});hljs.registerLanguage("cs",function(c){var b="abstract as base bool break byte case catch char checked const continue decimal default delegate do double else enum event explicit extern false finally fixed float for foreach goto if implicit in int interface internal is lock long new null object operator out override params private protected public readonly ref return sbyte sealed short sizeof stackalloc static string struct switch this throw true try typeof uint ulong unchecked unsafe ushort using virtual volatile void while async await protected public private internal ascending descending from get group into join let orderby partial select set value var where yield";var a=c.IR+"(<"+c.IR+">)?";return{aliases:["csharp"],k:b,i:/::/,c:[{cN:"comment",b:"///",e:"$",rB:true,c:[{cN:"xmlDocTag",v:[{b:"///",r:0},{b:""},{b:""}]}]},c.CLCM,c.CBCM,{cN:"preprocessor",b:"#",e:"$",k:"if else elif endif define undef warning error line region endregion pragma checksum"},{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},c.ASM,c.QSM,c.CNM,{bK:"class namespace interface",e:/[{;=]/,i:/[^\s:]/,c:[c.TM,c.CLCM,c.CBCM]},{bK:"new",e:/\s/,r:0},{cN:"function",b:"("+a+"\\s+)+"+c.IR+"\\s*\\(",rB:true,e:/[{;=]/,eE:true,k:b,c:[{b:c.IR+"\\s*\\(",rB:true,c:[c.TM]},{cN:"params",b:/\(/,e:/\)/,k:b,c:[c.ASM,c.QSM,c.CNM,c.CBCM]},c.CLCM,c.CBCM]}]}});hljs.registerLanguage("protobuf",function(a){return{k:{keyword:"package import option optional required repeated group",built_in:"double float int32 int64 uint32 uint64 sint32 sint64 fixed32 fixed64 sfixed32 sfixed64 bool string bytes",literal:"true false"},c:[a.QSM,a.NM,a.CLCM,{cN:"class",bK:"message enum service",e:/\{/,i:/\n/,c:[a.inherit(a.TM,{starts:{eW:true,eE:true}})]},{cN:"function",bK:"rpc",e:/;/,eE:true,k:"rpc returns"},{cN:"constant",b:/^\s*[A-Z_]+/,e:/\s*=/,eE:true}]}});hljs.registerLanguage("vim",function(a){return{l:/[!#@\w]+/,k:{keyword:"N|0 P|0 X|0 a|0 ab abc abo al am an|0 ar arga argd arge argdo argg argl argu as au aug aun b|0 bN ba bad bd be bel bf bl bm bn bo bp br brea breaka breakd breakl bro bufdo buffers bun bw c|0 cN cNf ca cabc caddb cad caddf cal cat cb cc ccl cd ce cex cf cfir cgetb cgete cg changes chd che checkt cl cla clo cm cmapc cme cn cnew cnf cno cnorea cnoreme co col colo com comc comp con conf cope cp cpf cq cr cs cst cu cuna cunme cw d|0 delm deb debugg delc delf dif diffg diffo diffp diffpu diffs diffthis dig di dl dell dj dli do doautoa dp dr ds dsp e|0 ea ec echoe echoh echom echon el elsei em en endfo endf endt endw ene ex exe exi exu f|0 files filet fin fina fini fir fix fo foldc foldd folddoc foldo for fu g|0 go gr grepa gu gv ha h|0 helpf helpg helpt hi hid his i|0 ia iabc if ij il im imapc ime ino inorea inoreme int is isp iu iuna iunme j|0 ju k|0 keepa kee keepj lN lNf l|0 lad laddb laddf la lan lat lb lc lch lcl lcs le lefta let lex lf lfir lgetb lgete lg lgr lgrepa lh ll lla lli lmak lm lmapc lne lnew lnf ln loadk lo loc lockv lol lope lp lpf lr ls lt lu lua luad luaf lv lvimgrepa lw m|0 ma mak map mapc marks mat me menut mes mk mks mksp mkv mkvie mod mz mzf nbc nb nbs n|0 new nm nmapc nme nn nnoreme noa no noh norea noreme norm nu nun nunme ol o|0 om omapc ome on ono onoreme opt ou ounme ow p|0 profd prof pro promptr pc ped pe perld po popu pp pre prev ps pt ptN ptf ptj ptl ptn ptp ptr pts pu pw py3 python3 py3d py3f py pyd pyf q|0 quita qa r|0 rec red redi redr redraws reg res ret retu rew ri rightb rub rubyd rubyf rund ru rv s|0 sN san sa sal sav sb sbN sba sbf sbl sbm sbn sbp sbr scrip scripte scs se setf setg setl sf sfir sh sim sig sil sl sla sm smap smapc sme sn sni sno snor snoreme sor so spelld spe spelli spellr spellu spellw sp spr sre st sta startg startr star stopi stj sts sun sunm sunme sus sv sw sy synti sync t|0 tN tabN tabc tabdo tabe tabf tabfir tabl tabm tabnew tabn tabo tabp tabr tabs tab ta tags tc tcld tclf te tf th tj tl tm tn to tp tr try ts tu u|0 undoj undol una unh unl unlo unm unme uns up v|0 ve verb vert vim vimgrepa vi viu vie vm vmapc vme vne vn vnoreme vs vu vunme windo w|0 wN wa wh wi winc winp wn wp wq wqa ws wu wv x|0 xa xmapc xm xme xn xnoreme xu xunme y|0 z|0 ~ Next Print append abbreviate abclear aboveleft all amenu anoremenu args argadd argdelete argedit argglobal arglocal argument ascii autocmd augroup aunmenu buffer bNext ball badd bdelete behave belowright bfirst blast bmodified bnext botright bprevious brewind break breakadd breakdel breaklist browse bunload bwipeout change cNext cNfile cabbrev cabclear caddbuffer caddexpr caddfile call catch cbuffer cclose center cexpr cfile cfirst cgetbuffer cgetexpr cgetfile chdir checkpath checktime clist clast close cmap cmapclear cmenu cnext cnewer cnfile cnoremap cnoreabbrev cnoremenu copy colder colorscheme command comclear compiler continue confirm copen cprevious cpfile cquit crewind cscope cstag cunmap cunabbrev cunmenu cwindow delete delmarks debug debuggreedy delcommand delfunction diffupdate diffget diffoff diffpatch diffput diffsplit digraphs display deletel djump dlist doautocmd doautoall deletep drop dsearch dsplit edit earlier echo echoerr echohl echomsg else elseif emenu endif endfor endfunction endtry endwhile enew execute exit exusage file filetype find finally finish first fixdel fold foldclose folddoopen folddoclosed foldopen function global goto grep grepadd gui gvim hardcopy help helpfind helpgrep helptags highlight hide history insert iabbrev iabclear ijump ilist imap imapclear imenu inoremap inoreabbrev inoremenu intro isearch isplit iunmap iunabbrev iunmenu join jumps keepalt keepmarks keepjumps lNext lNfile list laddexpr laddbuffer laddfile last language later lbuffer lcd lchdir lclose lcscope left leftabove lexpr lfile lfirst lgetbuffer lgetexpr lgetfile lgrep lgrepadd lhelpgrep llast llist lmake lmap lmapclear lnext lnewer lnfile lnoremap loadkeymap loadview lockmarks lockvar lolder lopen lprevious lpfile lrewind ltag lunmap luado luafile lvimgrep lvimgrepadd lwindow move mark make mapclear match menu menutranslate messages mkexrc mksession mkspell mkvimrc mkview mode mzscheme mzfile nbclose nbkey nbsart next nmap nmapclear nmenu nnoremap nnoremenu noautocmd noremap nohlsearch noreabbrev noremenu normal number nunmap nunmenu oldfiles open omap omapclear omenu only onoremap onoremenu options ounmap ounmenu ownsyntax print profdel profile promptfind promptrepl pclose pedit perl perldo pop popup ppop preserve previous psearch ptag ptNext ptfirst ptjump ptlast ptnext ptprevious ptrewind ptselect put pwd py3do py3file python pydo pyfile quit quitall qall read recover redo redir redraw redrawstatus registers resize retab return rewind right rightbelow ruby rubydo rubyfile rundo runtime rviminfo substitute sNext sandbox sargument sall saveas sbuffer sbNext sball sbfirst sblast sbmodified sbnext sbprevious sbrewind scriptnames scriptencoding scscope set setfiletype setglobal setlocal sfind sfirst shell simalt sign silent sleep slast smagic smapclear smenu snext sniff snomagic snoremap snoremenu sort source spelldump spellgood spellinfo spellrepall spellundo spellwrong split sprevious srewind stop stag startgreplace startreplace startinsert stopinsert stjump stselect sunhide sunmap sunmenu suspend sview swapname syntax syntime syncbind tNext tabNext tabclose tabedit tabfind tabfirst tablast tabmove tabnext tabonly tabprevious tabrewind tag tcl tcldo tclfile tearoff tfirst throw tjump tlast tmenu tnext topleft tprevious trewind tselect tunmenu undo undojoin undolist unabbreviate unhide unlet unlockvar unmap unmenu unsilent update vglobal version verbose vertical vimgrep vimgrepadd visual viusage view vmap vmapclear vmenu vnew vnoremap vnoremenu vsplit vunmap vunmenu write wNext wall while winsize wincmd winpos wnext wprevious wqall wsverb wundo wviminfo xit xall xmapclear xmap xmenu xnoremap xnoremenu xunmap xunmenu yank",built_in:"abs acos add and append argc argidx argv asin atan atan2 browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call ceil changenr char2nr cindent clearmatches col complete complete_add complete_check confirm copy cos cosh count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists exp expand extend feedkeys filereadable filewritable filter finddir findfile float2nr floor fmod fnameescape fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getmatches getpid getpos getqflist getreg getregtype gettabvar gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key haslocaldir hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert invert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime log log10 luaeval map maparg mapcheck match matchadd matcharg matchdelete matchend matchlist matchstr max min mkdir mode mzeval nextnonblank nr2char or pathshorten pow prevnonblank printf pumvisible py3eval pyeval range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse round screenattr screenchar screencol screenrow search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setmatches setpos setqflist setreg settabvar settabwinvar setwinvar sha256 shellescape shiftwidth simplify sin sinh sort soundfold spellbadword spellsuggest split sqrt str2float str2nr strchars strdisplaywidth strftime stridx string strlen strpart strridx strtrans strwidth submatch substitute synconcealed synID synIDattr synIDtrans synstack system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tan tanh tempname tolower toupper tr trunc type undofile undotree values virtcol visualmode wildmenumode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile xor"},i:/[{:]/,c:[a.NM,a.ASM,{cN:"string",b:/"((\\")|[^"\n])*("|\n)/},{cN:"variable",b:/[bwtglsav]:[\w\d_]*/},{cN:"function",bK:"function function!",e:"$",r:0,c:[a.TM,{cN:"params",b:"\\(",e:"\\)"}]}]}});hljs.registerLanguage("brainfuck",function(b){var a={cN:"literal",b:"[\\+\\-]",r:0};return{aliases:["bf"],c:[{cN:"comment",b:"[^\\[\\]\\.,\\+\\-<> \r\n]",rE:true,e:"[\\[\\]\\.,\\+\\-<> \r\n]",r:0},{cN:"title",b:"[\\[\\]]",r:0},{cN:"string",b:"[\\.,]",r:0},{b:/\+\+|\-\-/,rB:true,c:[a]},a]}});hljs.registerLanguage("ruby",function(f){var j="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo if BEGIN retry end for true self when next until do begin unless END rescue nil else break undef not super class case require yield alias while ensure elsif or include attr_reader attr_writer attr_accessor";var b={cN:"yardoctag",b:"@[A-Za-z]+"};var c={cN:"value",b:"#<",e:">"};var k={cN:"comment",v:[{b:"#",e:"$",c:[b]},{b:"^\\=begin",e:"^\\=end",c:[b],r:10},{b:"^__END__",e:"\\n$"}]};var d={cN:"subst",b:"#\\{",e:"}",k:i};var e={cN:"string",c:[f.BE,d],v:[{b:/'/,e:/'/},{b:/"/,e:/"/},{b:"%[qw]?\\(",e:"\\)"},{b:"%[qw]?\\[",e:"\\]"},{b:"%[qw]?{",e:"}"},{b:"%[qw]?<",e:">"},{b:"%[qw]?/",e:"/"},{b:"%[qw]?%",e:"%"},{b:"%[qw]?-",e:"-"},{b:"%[qw]?\\|",e:"\\|"},{b:/\B\?(\\\d{1,3}|\\x[A-Fa-f0-9]{1,2}|\\u[A-Fa-f0-9]{4}|\\?\S)\b/}]};var a={cN:"params",b:"\\(",e:"\\)",k:i};var h=[e,c,k,{cN:"class",bK:"class module",e:"$|;",i:/=/,c:[f.inherit(f.TM,{b:"[A-Za-z_]\\w*(::\\w+)*(\\?|\\!)?"}),{cN:"inheritance",b:"<\\s*",c:[{cN:"parent",b:"("+f.IR+"::)?"+f.IR}]},k]},{cN:"function",bK:"def",e:" |$|;",r:0,c:[f.inherit(f.TM,{b:j}),a,k]},{cN:"constant",b:"(::)?(\\b[A-Z]\\w*(::)?)+",r:0},{cN:"symbol",b:f.UIR+"(\\!|\\?)?:",r:0},{cN:"symbol",b:":",c:[e,{b:j}],r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"("+f.RSR+")\\s*",c:[c,k,{cN:"regexp",c:[f.BE,d],i:/\n/,v:[{b:"/",e:"/[a-z]*"},{b:"%r{",e:"}[a-z]*"},{b:"%r\\(",e:"\\)[a-z]*"},{b:"%r!",e:"![a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];d.c=h;a.c=h;var g=[{b:/^\s*=>/,cN:"status",starts:{e:"$",c:h}},{cN:"prompt",b:/^\S[^=>\n]*>+/,starts:{e:"$",c:h}}];return{aliases:["rb","gemspec","podspec","thor","irb"],k:i,c:[k].concat(g).concat(h)}});hljs.registerLanguage("nimrod",function(a){return{k:{keyword:"addr and as asm bind block break|0 case|0 cast const|0 continue|0 converter discard distinct|10 div do elif else|0 end|0 enum|0 except export finally for from generic if|0 import|0 in include|0 interface is isnot|10 iterator|10 let|0 macro method|10 mixin mod nil not notin|10 object|0 of or out proc|10 ptr raise ref|10 return shl shr static template|10 try|0 tuple type|0 using|0 var|0 when while|0 with without xor yield",literal:"shared guarded stdin stdout stderr result|10 true false"},c:[{cN:"decorator",b:/{\./,e:/\.}/,r:10},{cN:"string",b:/[a-zA-Z]\w*"/,e:/"/,c:[{b:/""/}]},{cN:"string",b:/([a-zA-Z]\w*)?"""/,e:/"""/},{cN:"string",b:/"/,e:/"/,i:/\n/,c:[{b:/\\./}]},{cN:"type",b:/\b[A-Z]\w+\b/,r:0},{cN:"type",b:/\b(int|int8|int16|int32|int64|uint|uint8|uint16|uint32|uint64|float|float32|float64|bool|char|string|cstring|pointer|expr|stmt|void|auto|any|range|array|openarray|varargs|seq|set|clong|culong|cchar|cschar|cshort|cint|csize|clonglong|cfloat|cdouble|clongdouble|cuchar|cushort|cuint|culonglong|cstringarray|semistatic)\b/},{cN:"number",b:/\b(0[xX][0-9a-fA-F][_0-9a-fA-F]*)('?[iIuU](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0o[0-7][_0-7]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(0(b|B)[01][_01]*)('?[iIuUfF](8|16|32|64))?/,r:0},{cN:"number",b:/\b(\d[_\d]*)('?[iIuUfF](8|16|32|64))?/,r:0},a.HCM]}});hljs.registerLanguage("rust",function(a){return{aliases:["rs"],k:{keyword:"alignof as be box break const continue crate do else enum extern false fn for if impl in let loop match mod mut offsetof once priv proc pub pure ref return self sizeof static struct super trait true type typeof unsafe unsized use virtual while yield int i8 i16 i32 i64 uint u8 u32 u64 float f32 f64 str char bool",built_in:"assert! assert_eq! bitflags! bytes! cfg! col! concat! concat_idents! debug_assert! debug_assert_eq! env! fail! file! format! format_args! include_bin! include_str! line! local_data_key! module_path! option_env! print! println! select! stringify! try! unimplemented! unreachable! vec! write! writeln!"},l:a.IR+"!?",i:""}]}});hljs.registerLanguage("ruleslanguage",function(a){return{k:{keyword:"BILL_PERIOD BILL_START BILL_STOP RS_EFFECTIVE_START RS_EFFECTIVE_STOP RS_JURIS_CODE RS_OPCO_CODE INTDADDATTRIBUTE|5 INTDADDVMSG|5 INTDBLOCKOP|5 INTDBLOCKOPNA|5 INTDCLOSE|5 INTDCOUNT|5 INTDCOUNTSTATUSCODE|5 INTDCREATEMASK|5 INTDCREATEDAYMASK|5 INTDCREATEFACTORMASK|5 INTDCREATEHANDLE|5 INTDCREATEOVERRIDEDAYMASK|5 INTDCREATEOVERRIDEMASK|5 INTDCREATESTATUSCODEMASK|5 INTDCREATETOUPERIOD|5 INTDDELETE|5 INTDDIPTEST|5 INTDEXPORT|5 INTDGETERRORCODE|5 INTDGETERRORMESSAGE|5 INTDISEQUAL|5 INTDJOIN|5 INTDLOAD|5 INTDLOADACTUALCUT|5 INTDLOADDATES|5 INTDLOADHIST|5 INTDLOADLIST|5 INTDLOADLISTDATES|5 INTDLOADLISTENERGY|5 INTDLOADLISTHIST|5 INTDLOADRELATEDCHANNEL|5 INTDLOADSP|5 INTDLOADSTAGING|5 INTDLOADUOM|5 INTDLOADUOMDATES|5 INTDLOADUOMHIST|5 INTDLOADVERSION|5 INTDOPEN|5 INTDREADFIRST|5 INTDREADNEXT|5 INTDRECCOUNT|5 INTDRELEASE|5 INTDREPLACE|5 INTDROLLAVG|5 INTDROLLPEAK|5 INTDSCALAROP|5 INTDSCALE|5 INTDSETATTRIBUTE|5 INTDSETDSTPARTICIPANT|5 INTDSETSTRING|5 INTDSETVALUE|5 INTDSETVALUESTATUS|5 INTDSHIFTSTARTTIME|5 INTDSMOOTH|5 INTDSORT|5 INTDSPIKETEST|5 INTDSUBSET|5 INTDTOU|5 INTDTOURELEASE|5 INTDTOUVALUE|5 INTDUPDATESTATS|5 INTDVALUE|5 STDEV INTDDELETEEX|5 INTDLOADEXACTUAL|5 INTDLOADEXCUT|5 INTDLOADEXDATES|5 INTDLOADEX|5 INTDLOADEXRELATEDCHANNEL|5 INTDSAVEEX|5 MVLOAD|5 MVLOADACCT|5 MVLOADACCTDATES|5 MVLOADACCTHIST|5 MVLOADDATES|5 MVLOADHIST|5 MVLOADLIST|5 MVLOADLISTDATES|5 MVLOADLISTHIST|5 IF FOR NEXT DONE SELECT END CALL ABORT CLEAR CHANNEL FACTOR LIST NUMBER OVERRIDE SET WEEK DISTRIBUTIONNODE ELSE WHEN THEN OTHERWISE IENUM CSV INCLUDE LEAVE RIDER SAVE DELETE NOVALUE SECTION WARN SAVE_UPDATE DETERMINANT LABEL REPORT REVENUE EACH IN FROM TOTAL CHARGE BLOCK AND OR CSV_FILE RATE_CODE AUXILIARY_DEMAND UIDACCOUNT RS BILL_PERIOD_SELECT HOURS_PER_MONTH INTD_ERROR_STOP SEASON_SCHEDULE_NAME ACCOUNTFACTOR ARRAYUPPERBOUND CALLSTOREDPROC GETADOCONNECTION GETCONNECT GETDATASOURCE GETQUALIFIER GETUSERID HASVALUE LISTCOUNT LISTOP LISTUPDATE LISTVALUE PRORATEFACTOR RSPRORATE SETBINPATH SETDBMONITOR WQ_OPEN BILLINGHOURS DATE DATEFROMFLOAT DATETIMEFROMSTRING DATETIMETOSTRING DATETOFLOAT DAY DAYDIFF DAYNAME DBDATETIME HOUR MINUTE MONTH MONTHDIFF MONTHHOURS MONTHNAME ROUNDDATE SAMEWEEKDAYLASTYEAR SECOND WEEKDAY WEEKDIFF YEAR YEARDAY YEARSTR COMPSUM HISTCOUNT HISTMAX HISTMIN HISTMINNZ HISTVALUE MAXNRANGE MAXRANGE MINRANGE COMPIKVA COMPKVA COMPKVARFROMKQKW COMPLF IDATTR FLAG LF2KW LF2KWH MAXKW POWERFACTOR READING2USAGE AVGSEASON MAXSEASON MONTHLYMERGE SEASONVALUE SUMSEASON ACCTREADDATES ACCTTABLELOAD CONFIGADD CONFIGGET CREATEOBJECT CREATEREPORT EMAILCLIENT EXPBLKMDMUSAGE EXPMDMUSAGE EXPORT_USAGE FACTORINEFFECT GETUSERSPECIFIEDSTOP INEFFECT ISHOLIDAY RUNRATE SAVE_PROFILE SETREPORTTITLE USEREXIT WATFORRUNRATE TO TABLE ACOS ASIN ATAN ATAN2 BITAND CEIL COS COSECANT COSH COTANGENT DIVQUOT DIVREM EXP FABS FLOOR FMOD FREPM FREXPN LOG LOG10 MAX MAXN MIN MINNZ MODF POW ROUND ROUND2VALUE ROUNDINT SECANT SIN SINH SQROOT TAN TANH FLOAT2STRING FLOAT2STRINGNC INSTR LEFT LEN LTRIM MID RIGHT RTRIM STRING STRINGNC TOLOWER TOUPPER TRIM NUMDAYS READ_DATE STAGING",built_in:"IDENTIFIER OPTIONS XML_ELEMENT XML_OP XML_ELEMENT_OF DOMDOCCREATE DOMDOCLOADFILE DOMDOCLOADXML DOMDOCSAVEFILE DOMDOCGETROOT DOMDOCADDPI DOMNODEGETNAME DOMNODEGETTYPE DOMNODEGETVALUE DOMNODEGETCHILDCT DOMNODEGETFIRSTCHILD DOMNODEGETSIBLING DOMNODECREATECHILDELEMENT DOMNODESETATTRIBUTE DOMNODEGETCHILDELEMENTCT DOMNODEGETFIRSTCHILDELEMENT DOMNODEGETSIBLINGELEMENT DOMNODEGETATTRIBUTECT DOMNODEGETATTRIBUTEI DOMNODEGETATTRIBUTEBYNAME DOMNODEGETBYNAME"},c:[a.CLCM,a.CBCM,a.ASM,a.QSM,a.CNM,{cN:"array",b:"#[a-zA-Z .]+"}]}});hljs.registerLanguage("rib",function(a){return{k:"ArchiveRecord AreaLightSource Atmosphere Attribute AttributeBegin AttributeEnd Basis Begin Blobby Bound Clipping ClippingPlane Color ColorSamples ConcatTransform Cone CoordinateSystem CoordSysTransform CropWindow Curves Cylinder DepthOfField Detail DetailRange Disk Displacement Display End ErrorHandler Exposure Exterior Format FrameAspectRatio FrameBegin FrameEnd GeneralPolygon GeometricApproximation Geometry Hider Hyperboloid Identity Illuminate Imager Interior LightSource MakeCubeFaceEnvironment MakeLatLongEnvironment MakeShadow MakeTexture Matte MotionBegin MotionEnd NuPatch ObjectBegin ObjectEnd ObjectInstance Opacity Option Orientation Paraboloid Patch PatchMesh Perspective PixelFilter PixelSamples PixelVariance Points PointsGeneralPolygons PointsPolygons Polygon Procedural Projection Quantize ReadArchive RelativeDetail ReverseOrientation Rotate Scale ScreenWindow ShadingInterpolation ShadingRate Shutter Sides Skew SolidBegin SolidEnd Sphere SubdivisionMesh Surface TextureCoordinates Torus Transform TransformBegin TransformEnd TransformPoints Translate TrimCurve WorldBegin WorldEnd",i:"",sL:"xml",r:0},{cN:"bullet",b:"^([*+-]|(\\d+\\.))\\s+"},{cN:"strong",b:"[*_]{2}.+?[*_]{2}"},{cN:"emphasis",v:[{b:"\\*.+?\\*"},{b:"_.+?_",r:0}]},{cN:"blockquote",b:"^>\\s+",e:"$"},{cN:"code",v:[{b:"`.+?`"},{b:"^( {4}|\t)",e:"$",r:0}]},{cN:"horizontal_rule",b:"^[-\\*]{3,}",e:"$"},{b:"\\[.+?\\][\\(\\[].*?[\\)\\]]",rB:true,c:[{cN:"link_label",b:"\\[",e:"\\]",eB:true,rE:true,r:0},{cN:"link_url",b:"\\]\\(",e:"\\)",eB:true,eE:true},{cN:"link_reference",b:"\\]\\[",e:"\\]",eB:true,eE:true}],r:10},{b:"^\\[.+\\]:",rB:true,c:[{cN:"link_reference",b:"\\[",e:"\\]:",eB:true,eE:true,starts:{cN:"link_url",e:"$"}}]}]}});hljs.registerLanguage("dart",function(b){var d={cN:"subst",b:"\\$\\{",e:"}",k:"true false null this is new super"};var c={cN:"string",v:[{b:"r'''",e:"'''"},{b:'r"""',e:'"""'},{b:"r'",e:"'",i:"\\n"},{b:'r"',e:'"',i:"\\n"},{b:"'''",e:"'''",c:[b.BE,d]},{b:'"""',e:'"""',c:[b.BE,d]},{b:"'",e:"'",i:"\\n",c:[b.BE,d]},{b:'"',e:'"',i:"\\n",c:[b.BE,d]}]};d.c=[b.CNM,c];var a={keyword:"assert break case catch class const continue default do else enum extends false final finally for if in is new null rethrow return super switch this throw true try var void while with",literal:"abstract as dynamic export external factory get implements import library operator part set static typedef",built_in:"print Comparable DateTime Duration Function Iterable Iterator List Map Match Null Object Pattern RegExp Set Stopwatch String StringBuffer StringSink Symbol Type Uri bool double int num document window querySelector querySelectorAll Element ElementList"};return{k:a,c:[c,{cN:"dartdoc",b:"/\\*\\*",e:"\\*/",sL:"markdown",subLanguageMode:"continuous"},{cN:"dartdoc",b:"///",e:"$",sL:"markdown",subLanguageMode:"continuous"},b.CLCM,b.CBCM,{cN:"class",bK:"class interface",e:"{",eE:true,c:[{bK:"extends implements"},b.UTM]},b.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{b:"=>"}]}});hljs.registerLanguage("haml",function(a){return{cI:true,c:[{cN:"doctype",b:"^!!!( (5|1\\.1|Strict|Frameset|Basic|Mobile|RDFa|XML\\b.*))?$",r:10},{cN:"comment",b:"^\\s*(!=#|=#|-#|/).*$",r:0},{b:"^\\s*(-|=|!=)(?!#)",starts:{e:"\\n",sL:"ruby"}},{cN:"tag",b:"^\\s*%",c:[{cN:"title",b:"\\w+"},{cN:"value",b:"[#\\.]\\w+"},{b:"{\\s*",e:"\\s*}",eE:true,c:[{b:":\\w+\\s*=>",e:",\\s+",rB:true,eW:true,c:[{cN:"symbol",b:":\\w+"},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]},{b:"\\(\\s*",e:"\\s*\\)",eE:true,c:[{b:"\\w+\\s*=",e:"\\s+",rB:true,eW:true,c:[{cN:"attribute",b:"\\w+",r:0},{cN:"string",b:'"',e:'"'},{cN:"string",b:"'",e:"'"},{b:"\\w+",r:0}]}]}]},{cN:"bullet",b:"^\\s*[=~]\\s*",r:0},{b:"#{",starts:{e:"}",sL:"ruby"}}]}});hljs.registerLanguage("javascript",function(a){return{aliases:["js"],k:{keyword:"in if for while finally var new function do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document"},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:10},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("xml",function(a){var c="[A-Za-z0-9\\._:-]+";var d={b:/<\?(php)?(?!\w)/,e:/\?>/,sL:"php",subLanguageMode:"continuous"};var b={eW:true,i:/]+/}]}]}]};return{aliases:["html","xhtml","rss","atom","xsl","plist"],cI:true,c:[{cN:"doctype",b:"",r:10,c:[{b:"\\[",e:"\\]"}]},{cN:"comment",b:"",r:10},{cN:"cdata",b:"<\\!\\[CDATA\\[",e:"\\]\\]>",r:10},{cN:"tag",b:"|$)",e:">",k:{title:"style"},c:[b],starts:{e:"",rE:true,sL:"css"}},{cN:"tag",b:"|$)",e:">",k:{title:"script"},c:[b],starts:{e:"<\/script>",rE:true,sL:"javascript"}},{b:"<%",e:"%>",sL:"vbscript"},d,{cN:"pi",b:/<\?\w+/,e:/\?>/,r:10},{cN:"tag",b:"",c:[{cN:"title",b:/[^ \/><\n\t]+/,r:0},b]}]}});hljs.registerLanguage("dust",function(b){var a="if eq ne lt lte gt gte select default math sep";return{aliases:["dst"],cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{",e:"}",r:0,c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a,r:0}]}]}});hljs.registerLanguage("glsl",function(a){return{k:{keyword:"atomic_uint attribute bool break bvec2 bvec3 bvec4 case centroid coherent const continue default discard dmat2 dmat2x2 dmat2x3 dmat2x4 dmat3 dmat3x2 dmat3x3 dmat3x4 dmat4 dmat4x2 dmat4x3 dmat4x4 do double dvec2 dvec3 dvec4 else flat float for highp if iimage1D iimage1DArray iimage2D iimage2DArray iimage2DMS iimage2DMSArray iimage2DRect iimage3D iimageBuffer iimageCube iimageCubeArray image1D image1DArray image2D image2DArray image2DMS image2DMSArray image2DRect image3D imageBuffer imageCube imageCubeArray in inout int invariant isampler1D isampler1DArray isampler2D isampler2DArray isampler2DMS isampler2DMSArray isampler2DRect isampler3D isamplerBuffer isamplerCube isamplerCubeArray ivec2 ivec3 ivec4 layout lowp mat2 mat2x2 mat2x3 mat2x4 mat3 mat3x2 mat3x3 mat3x4 mat4 mat4x2 mat4x3 mat4x4 mediump noperspective out patch precision readonly restrict return sample sampler1D sampler1DArray sampler1DArrayShadow sampler1DShadow sampler2D sampler2DArray sampler2DArrayShadow sampler2DMS sampler2DMSArray sampler2DRect sampler2DRectShadow sampler2DShadow sampler3D samplerBuffer samplerCube samplerCubeArray samplerCubeArrayShadow samplerCubeShadow smooth struct subroutine switch uimage1D uimage1DArray uimage2D uimage2DArray uimage2DMS uimage2DMSArray uimage2DRect uimage3D uimageBuffer uimageCube uimageCubeArray uint uniform usampler1D usampler1DArray usampler2D usampler2DArray usampler2DMS usampler2DMSArray usampler2DRect usampler3D usamplerBuffer usamplerCube usamplerCubeArray uvec2 uvec3 uvec4 varying vec2 vec3 vec4 void volatile while writeonly",built_in:"gl_BackColor gl_BackLightModelProduct gl_BackLightProduct gl_BackMaterial gl_BackSecondaryColor gl_ClipDistance gl_ClipPlane gl_ClipVertex gl_Color gl_DepthRange gl_EyePlaneQ gl_EyePlaneR gl_EyePlaneS gl_EyePlaneT gl_Fog gl_FogCoord gl_FogFragCoord gl_FragColor gl_FragCoord gl_FragData gl_FragDepth gl_FrontColor gl_FrontFacing gl_FrontLightModelProduct gl_FrontLightProduct gl_FrontMaterial gl_FrontSecondaryColor gl_InstanceID gl_InvocationID gl_Layer gl_LightModel gl_LightSource gl_MaxAtomicCounterBindings gl_MaxAtomicCounterBufferSize gl_MaxClipDistances gl_MaxClipPlanes gl_MaxCombinedAtomicCounterBuffers gl_MaxCombinedAtomicCounters gl_MaxCombinedImageUniforms gl_MaxCombinedImageUnitsAndFragmentOutputs gl_MaxCombinedTextureImageUnits gl_MaxDrawBuffers gl_MaxFragmentAtomicCounterBuffers gl_MaxFragmentAtomicCounters gl_MaxFragmentImageUniforms gl_MaxFragmentInputComponents gl_MaxFragmentUniformComponents gl_MaxFragmentUniformVectors gl_MaxGeometryAtomicCounterBuffers gl_MaxGeometryAtomicCounters gl_MaxGeometryImageUniforms gl_MaxGeometryInputComponents gl_MaxGeometryOutputComponents gl_MaxGeometryOutputVertices gl_MaxGeometryTextureImageUnits gl_MaxGeometryTotalOutputComponents gl_MaxGeometryUniformComponents gl_MaxGeometryVaryingComponents gl_MaxImageSamples gl_MaxImageUnits gl_MaxLights gl_MaxPatchVertices gl_MaxProgramTexelOffset gl_MaxTessControlAtomicCounterBuffers gl_MaxTessControlAtomicCounters gl_MaxTessControlImageUniforms gl_MaxTessControlInputComponents gl_MaxTessControlOutputComponents gl_MaxTessControlTextureImageUnits gl_MaxTessControlTotalOutputComponents gl_MaxTessControlUniformComponents gl_MaxTessEvaluationAtomicCounterBuffers gl_MaxTessEvaluationAtomicCounters gl_MaxTessEvaluationImageUniforms gl_MaxTessEvaluationInputComponents gl_MaxTessEvaluationOutputComponents gl_MaxTessEvaluationTextureImageUnits gl_MaxTessEvaluationUniformComponents gl_MaxTessGenLevel gl_MaxTessPatchComponents gl_MaxTextureCoords gl_MaxTextureImageUnits gl_MaxTextureUnits gl_MaxVaryingComponents gl_MaxVaryingFloats gl_MaxVaryingVectors gl_MaxVertexAtomicCounterBuffers gl_MaxVertexAtomicCounters gl_MaxVertexAttribs gl_MaxVertexImageUniforms gl_MaxVertexOutputComponents gl_MaxVertexTextureImageUnits gl_MaxVertexUniformComponents gl_MaxVertexUniformVectors gl_MaxViewports gl_MinProgramTexelOffsetgl_ModelViewMatrix gl_ModelViewMatrixInverse gl_ModelViewMatrixInverseTranspose gl_ModelViewMatrixTranspose gl_ModelViewProjectionMatrix gl_ModelViewProjectionMatrixInverse gl_ModelViewProjectionMatrixInverseTranspose gl_ModelViewProjectionMatrixTranspose gl_MultiTexCoord0 gl_MultiTexCoord1 gl_MultiTexCoord2 gl_MultiTexCoord3 gl_MultiTexCoord4 gl_MultiTexCoord5 gl_MultiTexCoord6 gl_MultiTexCoord7 gl_Normal gl_NormalMatrix gl_NormalScale gl_ObjectPlaneQ gl_ObjectPlaneR gl_ObjectPlaneS gl_ObjectPlaneT gl_PatchVerticesIn gl_PerVertex gl_Point gl_PointCoord gl_PointSize gl_Position gl_PrimitiveID gl_PrimitiveIDIn gl_ProjectionMatrix gl_ProjectionMatrixInverse gl_ProjectionMatrixInverseTranspose gl_ProjectionMatrixTranspose gl_SampleID gl_SampleMask gl_SampleMaskIn gl_SamplePosition gl_SecondaryColor gl_TessCoord gl_TessLevelInner gl_TessLevelOuter gl_TexCoord gl_TextureEnvColor gl_TextureMatrixInverseTranspose gl_TextureMatrixTranspose gl_Vertex gl_VertexID gl_ViewportIndex gl_in gl_out EmitStreamVertex EmitVertex EndPrimitive EndStreamPrimitive abs acos acosh all any asin asinh atan atanh atomicCounter atomicCounterDecrement atomicCounterIncrement barrier bitCount bitfieldExtract bitfieldInsert bitfieldReverse ceil clamp cos cosh cross dFdx dFdy degrees determinant distance dot equal exp exp2 faceforward findLSB findMSB floatBitsToInt floatBitsToUint floor fma fract frexp ftransform fwidth greaterThan greaterThanEqual imageAtomicAdd imageAtomicAnd imageAtomicCompSwap imageAtomicExchange imageAtomicMax imageAtomicMin imageAtomicOr imageAtomicXor imageLoad imageStore imulExtended intBitsToFloat interpolateAtCentroid interpolateAtOffset interpolateAtSample inverse inversesqrt isinf isnan ldexp length lessThan lessThanEqual log log2 matrixCompMult max memoryBarrier min mix mod modf noise1 noise2 noise3 noise4 normalize not notEqual outerProduct packDouble2x32 packHalf2x16 packSnorm2x16 packSnorm4x8 packUnorm2x16 packUnorm4x8 pow radians reflect refract round roundEven shadow1D shadow1DLod shadow1DProj shadow1DProjLod shadow2D shadow2DLod shadow2DProj shadow2DProjLod sign sin sinh smoothstep sqrt step tan tanh texelFetch texelFetchOffset texture texture1D texture1DLod texture1DProj texture1DProjLod texture2D texture2DLod texture2DProj texture2DProjLod texture3D texture3DLod texture3DProj texture3DProjLod textureCube textureCubeLod textureGather textureGatherOffset textureGatherOffsets textureGrad textureGradOffset textureLod textureLodOffset textureOffset textureProj textureProjGrad textureProjGradOffset textureProjLod textureProjLodOffset textureProjOffset textureQueryLod textureSize transpose trunc uaddCarry uintBitsToFloat umulExtended unpackDouble2x32 unpackHalf2x16 unpackSnorm2x16 unpackSnorm4x8 unpackUnorm2x16 unpackUnorm4x8 usubBorrow gl_TextureMatrix gl_TextureMatrixInverse",literal:"true false"},i:'"',c:[a.CLCM,a.CBCM,a.CNM,{cN:"preprocessor",b:"#",e:"$"}]}});hljs.registerLanguage("rsl",function(a){return{k:{keyword:"float color point normal vector matrix while for if do return else break extern continue",built_in:"abs acos ambient area asin atan atmosphere attribute calculatenormal ceil cellnoise clamp comp concat cos degrees depth Deriv diffuse distance Du Dv environment exp faceforward filterstep floor format fresnel incident length lightsource log match max min mod noise normalize ntransform opposite option phong pnoise pow printf ptlined radians random reflect refract renderinfo round setcomp setxcomp setycomp setzcomp shadow sign sin smoothstep specular specularbrdf spline sqrt step tan texture textureinfo trace transform vtransform xcomp ycomp zcomp"},i:"\\&\\#][a-zA-Z0-9_\\-\\+\\*\\/\\<\\=\\>\\&\\#!]*";var m="(\\-|\\+)?\\d+(\\.\\d+|\\/\\d+)?((d|e|f|l|s)(\\+|\\-)?\\d+)?";var k={cN:"shebang",b:"^#!",e:"$"};var b={cN:"literal",b:"\\b(t{1}|nil)\\b"};var e={cN:"number",v:[{b:m,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"},{b:"#c\\("+m+" +"+m,e:"\\)"}]};var h=i.inherit(i.QSM,{i:null});var n={cN:"comment",b:";",e:"$",r:0};var g={cN:"variable",b:"\\*",e:"\\*"};var o={cN:"keyword",b:"[:&]"+l};var d={b:"\\(",e:"\\)",c:["self",b,h,e]};var a={cN:"quoted",c:[e,h,g,o,d],v:[{b:"['`]\\(",e:"\\)"},{b:"\\(quote ",e:"\\)",k:"quote"}]};var c={cN:"quoted",b:"'"+l};var j={cN:"list",b:"\\(",e:"\\)"};var f={eW:true,r:0};j.c=[{cN:"keyword",b:l},f];f.c=[a,c,j,b,e,h,n,g,o];return{i:/\S/,c:[e,k,b,h,n,a,c,j]}});hljs.registerLanguage("profile",function(a){return{c:[a.CNM,{cN:"built_in",b:"{",e:"}$",eB:true,eE:true,c:[a.ASM,a.QSM],r:0},{cN:"filename",b:"[a-zA-Z_][\\da-zA-Z_]+\\.[\\da-zA-Z_]{1,3}",e:":",eE:true},{cN:"header",b:"(ncalls|tottime|cumtime)",e:"$",k:"ncalls tottime|10 cumtime|10 filename",r:10},{cN:"summary",b:"function calls",e:"$",c:[a.CNM],r:10},a.ASM,a.QSM,{cN:"function",b:"\\(",e:"\\)$",c:[a.UTM],r:0}]}});hljs.registerLanguage("http",function(a){return{i:"\\S",c:[{cN:"status",b:"^HTTP/[0-9\\.]+",e:"$",c:[{cN:"number",b:"\\b\\d{3}\\b"}]},{cN:"request",b:"^[A-Z]+ (.*?) HTTP/[0-9\\.]+$",rB:true,e:"$",c:[{cN:"string",b:" ",e:" ",eB:true,eE:true}]},{cN:"attribute",b:"^\\w",e:": ",eE:true,i:"\\n|\\s|=",starts:{cN:"string",e:"$"}},{b:"\\n\\n",starts:{sL:"",eW:true}}]}});hljs.registerLanguage("java",function(c){var b=c.UIR+"(<"+c.UIR+">)?";var a="false synchronized int abstract float private char boolean static null if const for true while long throw strictfp finally protected import native final return void enum else break transient new catch instanceof byte super volatile case assert short package default double public try this switch continue throws protected public private";return{aliases:["jsp"],k:a,i:/<\//,c:[{cN:"javadoc",b:"/\\*\\*",e:"\\*/",r:0,c:[{cN:"javadoctag",b:"(^|\\s)@[A-Za-z]+"}]},c.CLCM,c.CBCM,c.ASM,c.QSM,{cN:"class",bK:"class interface",e:/[{;=]/,eE:true,k:"class interface",i:/[:"\[\]]/,c:[{bK:"extends implements"},c.UTM]},{bK:"new",e:/\s/,r:0},{cN:"function",b:"("+b+"\\s+)+"+c.UIR+"\\s*\\(",rB:true,e:/[{;=]/,eE:true,k:a,c:[{b:c.UIR+"\\s*\\(",rB:true,c:[c.UTM]},{cN:"params",b:/\(/,e:/\)/,k:a,c:[c.ASM,c.QSM,c.CNM,c.CBCM]},c.CLCM,c.CBCM]},c.CNM,{cN:"annotation",b:"@[A-Za-z]+"}]}});hljs.registerLanguage("gherkin",function(a){return{aliases:["feature"],k:"Feature Background Ability Business Need Scenario Scenarios Scenario Outline Scenario Template Examples Given And Then But When",c:[{cN:"keyword",b:"\\*"},{cN:"comment",b:"@[^@\r\n\t ]+",e:"$"},{cN:"string",b:"\\|",e:"\\$"},{cN:"variable",b:"<",e:">",},a.HCM,{cN:"string",b:'"""',e:'"""'},a.QSM]}});hljs.registerLanguage("fsharp",function(a){var b={b:"<",e:">",c:[a.inherit(a.TM,{b:/'[a-zA-Z0-9_]+/})]};return{aliases:["fs"],k:"yield! return! let! do!abstract and as assert base begin class default delegate do done downcast downto elif else end exception extern false finally for fun function global if in inherit inline interface internal lazy let match member module mutable namespace new null of open or override private public rec return sig static struct then to true try type upcast use val void when while with yield",c:[{cN:"string",b:'@"',e:'"',c:[{b:'""'}]},{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\*\\)"},{cN:"class",bK:"type",e:"\\(|=|$",eE:true,c:[a.UTM,b]},{cN:"annotation",b:"\\[<",e:">\\]",r:10},{cN:"attribute",b:"\\B('[A-Za-z])\\b",c:[a.BE]},a.CLCM,a.inherit(a.QSM,{i:null}),a.CNM]}});hljs.registerLanguage("mathematica",function(a){return{aliases:["mma"],l:"(\\$|\\b)"+a.IR+"\\b",k:"AbelianGroup Abort AbortKernels AbortProtect Above Abs Absolute AbsoluteCorrelation AbsoluteCorrelationFunction AbsoluteCurrentValue AbsoluteDashing AbsoluteFileName AbsoluteOptions AbsolutePointSize AbsoluteThickness AbsoluteTime AbsoluteTiming AccountingForm Accumulate Accuracy AccuracyGoal ActionDelay ActionMenu ActionMenuBox ActionMenuBoxOptions Active ActiveItem ActiveStyle AcyclicGraphQ AddOnHelpPath AddTo AdjacencyGraph AdjacencyList AdjacencyMatrix AdjustmentBox AdjustmentBoxOptions AdjustTimeSeriesForecast AffineTransform After AiryAi AiryAiPrime AiryAiZero AiryBi AiryBiPrime AiryBiZero AlgebraicIntegerQ AlgebraicNumber AlgebraicNumberDenominator AlgebraicNumberNorm AlgebraicNumberPolynomial AlgebraicNumberTrace AlgebraicRules AlgebraicRulesData Algebraics AlgebraicUnitQ Alignment AlignmentMarker AlignmentPoint All AllowedDimensions AllowGroupClose AllowInlineCells AllowKernelInitialization AllowReverseGroupClose AllowScriptLevelChange AlphaChannel AlternatingGroup AlternativeHypothesis Alternatives AmbientLight Analytic AnchoredSearch And AndersonDarlingTest AngerJ AngleBracket AngularGauge Animate AnimationCycleOffset AnimationCycleRepetitions AnimationDirection AnimationDisplayTime AnimationRate AnimationRepetitions AnimationRunning Animator AnimatorBox AnimatorBoxOptions AnimatorElements Annotation Annuity AnnuityDue Antialiasing Antisymmetric Apart ApartSquareFree Appearance AppearanceElements AppellF1 Append AppendTo Apply ArcCos ArcCosh ArcCot ArcCoth ArcCsc ArcCsch ArcSec ArcSech ArcSin ArcSinDistribution ArcSinh ArcTan ArcTanh Arg ArgMax ArgMin ArgumentCountQ ARIMAProcess ArithmeticGeometricMean ARMAProcess ARProcess Array ArrayComponents ArrayDepth ArrayFlatten ArrayPad ArrayPlot ArrayQ ArrayReshape ArrayRules Arrays Arrow Arrow3DBox ArrowBox Arrowheads AspectRatio AspectRatioFixed Assert Assuming Assumptions AstronomicalData Asynchronous AsynchronousTaskObject AsynchronousTasks AtomQ Attributes AugmentedSymmetricPolynomial AutoAction AutoDelete AutoEvaluateEvents AutoGeneratedPackage AutoIndent AutoIndentSpacings AutoItalicWords AutoloadPath AutoMatch Automatic AutomaticImageSize AutoMultiplicationSymbol AutoNumberFormatting AutoOpenNotebooks AutoOpenPalettes AutorunSequencing AutoScaling AutoScroll AutoSpacing AutoStyleOptions AutoStyleWords Axes AxesEdge AxesLabel AxesOrigin AxesStyle Axis BabyMonsterGroupB Back Background BackgroundTasksSettings Backslash Backsubstitution Backward Band BandpassFilter BandstopFilter BarabasiAlbertGraphDistribution BarChart BarChart3D BarLegend BarlowProschanImportance BarnesG BarOrigin BarSpacing BartlettHannWindow BartlettWindow BaseForm Baseline BaselinePosition BaseStyle BatesDistribution BattleLemarieWavelet Because BeckmannDistribution Beep Before Begin BeginDialogPacket BeginFrontEndInteractionPacket BeginPackage BellB BellY Below BenfordDistribution BeniniDistribution BenktanderGibratDistribution BenktanderWeibullDistribution BernoulliB BernoulliDistribution BernoulliGraphDistribution BernoulliProcess BernsteinBasis BesselFilterModel BesselI BesselJ BesselJZero BesselK BesselY BesselYZero Beta BetaBinomialDistribution BetaDistribution BetaNegativeBinomialDistribution BetaPrimeDistribution BetaRegularized BetweennessCentrality BezierCurve BezierCurve3DBox BezierCurve3DBoxOptions BezierCurveBox BezierCurveBoxOptions BezierFunction BilateralFilter Binarize BinaryFormat BinaryImageQ BinaryRead BinaryReadList BinaryWrite BinCounts BinLists Binomial BinomialDistribution BinomialProcess BinormalDistribution BiorthogonalSplineWavelet BipartiteGraphQ BirnbaumImportance BirnbaumSaundersDistribution BitAnd BitClear BitGet BitLength BitNot BitOr BitSet BitShiftLeft BitShiftRight BitXor Black BlackmanHarrisWindow BlackmanNuttallWindow BlackmanWindow Blank BlankForm BlankNullSequence BlankSequence Blend Block BlockRandom BlomqvistBeta BlomqvistBetaTest Blue Blur BodePlot BohmanWindow Bold Bookmarks Boole BooleanConsecutiveFunction BooleanConvert BooleanCountingFunction BooleanFunction BooleanGraph BooleanMaxterms BooleanMinimize BooleanMinterms Booleans BooleanTable BooleanVariables BorderDimensions BorelTannerDistribution Bottom BottomHatTransform BoundaryStyle Bounds Box BoxBaselineShift BoxData BoxDimensions Boxed Boxes BoxForm BoxFormFormatTypes BoxFrame BoxID BoxMargins BoxMatrix BoxRatios BoxRotation BoxRotationPoint BoxStyle BoxWhiskerChart Bra BracketingBar BraKet BrayCurtisDistance BreadthFirstScan Break Brown BrownForsytheTest BrownianBridgeProcess BrowserCategory BSplineBasis BSplineCurve BSplineCurve3DBox BSplineCurveBox BSplineCurveBoxOptions BSplineFunction BSplineSurface BSplineSurface3DBox BubbleChart BubbleChart3D BubbleScale BubbleSizes BulletGauge BusinessDayQ ButterflyGraph ButterworthFilterModel Button ButtonBar ButtonBox ButtonBoxOptions ButtonCell ButtonContents ButtonData ButtonEvaluator ButtonExpandable ButtonFrame ButtonFunction ButtonMargins ButtonMinHeight ButtonNote ButtonNotebook ButtonSource ButtonStyle ButtonStyleMenuListing Byte ByteCount ByteOrdering C CachedValue CacheGraphics CalendarData CalendarType CallPacket CanberraDistance Cancel CancelButton CandlestickChart Cap CapForm CapitalDifferentialD CardinalBSplineBasis CarmichaelLambda Cases Cashflow Casoratian Catalan CatalanNumber Catch CauchyDistribution CauchyWindow CayleyGraph CDF CDFDeploy CDFInformation CDFWavelet Ceiling Cell CellAutoOverwrite CellBaseline CellBoundingBox CellBracketOptions CellChangeTimes CellContents CellContext CellDingbat CellDynamicExpression CellEditDuplicate CellElementsBoundingBox CellElementSpacings CellEpilog CellEvaluationDuplicate CellEvaluationFunction CellEventActions CellFrame CellFrameColor CellFrameLabelMargins CellFrameLabels CellFrameMargins CellGroup CellGroupData CellGrouping CellGroupingRules CellHorizontalScrolling CellID CellLabel CellLabelAutoDelete CellLabelMargins CellLabelPositioning CellMargins CellObject CellOpen CellPrint CellProlog Cells CellSize CellStyle CellTags CellularAutomaton CensoredDistribution Censoring Center CenterDot CentralMoment CentralMomentGeneratingFunction CForm ChampernowneNumber ChanVeseBinarize Character CharacterEncoding CharacterEncodingsPath CharacteristicFunction CharacteristicPolynomial CharacterRange Characters ChartBaseStyle ChartElementData ChartElementDataFunction ChartElementFunction ChartElements ChartLabels ChartLayout ChartLegends ChartStyle Chebyshev1FilterModel Chebyshev2FilterModel ChebyshevDistance ChebyshevT ChebyshevU Check CheckAbort CheckAll Checkbox CheckboxBar CheckboxBox CheckboxBoxOptions ChemicalData ChessboardDistance ChiDistribution ChineseRemainder ChiSquareDistribution ChoiceButtons ChoiceDialog CholeskyDecomposition Chop Circle CircleBox CircleDot CircleMinus CirclePlus CircleTimes CirculantGraph CityData Clear ClearAll ClearAttributes ClearSystemCache ClebschGordan ClickPane Clip ClipboardNotebook ClipFill ClippingStyle ClipPlanes ClipRange Clock ClockGauge ClockwiseContourIntegral Close Closed CloseKernels ClosenessCentrality Closing ClosingAutoSave ClosingEvent ClusteringComponents CMYKColor Coarse Coefficient CoefficientArrays CoefficientDomain CoefficientList CoefficientRules CoifletWavelet Collect Colon ColonForm ColorCombine ColorConvert ColorData ColorDataFunction ColorFunction ColorFunctionScaling Colorize ColorNegate ColorOutput ColorProfileData ColorQuantize ColorReplace ColorRules ColorSelectorSettings ColorSeparate ColorSetter ColorSetterBox ColorSetterBoxOptions ColorSlider ColorSpace Column ColumnAlignments ColumnBackgrounds ColumnForm ColumnLines ColumnsEqual ColumnSpacings ColumnWidths CommonDefaultFormatTypes Commonest CommonestFilter CommonUnits CommunityBoundaryStyle CommunityGraphPlot CommunityLabels CommunityRegionStyle CompatibleUnitQ CompilationOptions CompilationTarget Compile Compiled CompiledFunction Complement CompleteGraph CompleteGraphQ CompleteKaryTree CompletionsListPacket Complex Complexes ComplexExpand ComplexInfinity ComplexityFunction ComponentMeasurements ComponentwiseContextMenu Compose ComposeList ComposeSeries Composition CompoundExpression CompoundPoissonDistribution CompoundPoissonProcess CompoundRenewalProcess Compress CompressedData Condition ConditionalExpression Conditioned Cone ConeBox ConfidenceLevel ConfidenceRange ConfidenceTransform ConfigurationPath Congruent Conjugate ConjugateTranspose Conjunction Connect ConnectedComponents ConnectedGraphQ ConnesWindow ConoverTest ConsoleMessage ConsoleMessagePacket ConsolePrint Constant ConstantArray Constants ConstrainedMax ConstrainedMin ContentPadding ContentsBoundingBox ContentSelectable ContentSize Context ContextMenu Contexts ContextToFilename ContextToFileName Continuation Continue ContinuedFraction ContinuedFractionK ContinuousAction ContinuousMarkovProcess ContinuousTimeModelQ ContinuousWaveletData ContinuousWaveletTransform ContourDetect ContourGraphics ContourIntegral ContourLabels ContourLines ContourPlot ContourPlot3D Contours ContourShading ContourSmoothing ContourStyle ContraharmonicMean Control ControlActive ControlAlignment ControllabilityGramian ControllabilityMatrix ControllableDecomposition ControllableModelQ ControllerDuration ControllerInformation ControllerInformationData ControllerLinking ControllerManipulate ControllerMethod ControllerPath ControllerState ControlPlacement ControlsRendering ControlType Convergents ConversionOptions ConversionRules ConvertToBitmapPacket ConvertToPostScript ConvertToPostScriptPacket Convolve ConwayGroupCo1 ConwayGroupCo2 ConwayGroupCo3 CoordinateChartData CoordinatesToolOptions CoordinateTransform CoordinateTransformData CoprimeQ Coproduct CopulaDistribution Copyable CopyDirectory CopyFile CopyTag CopyToClipboard CornerFilter CornerNeighbors Correlation CorrelationDistance CorrelationFunction CorrelationTest Cos Cosh CoshIntegral CosineDistance CosineWindow CosIntegral Cot Coth Count CounterAssignments CounterBox CounterBoxOptions CounterClockwiseContourIntegral CounterEvaluator CounterFunction CounterIncrements CounterStyle CounterStyleMenuListing CountRoots CountryData Covariance CovarianceEstimatorFunction CovarianceFunction CoxianDistribution CoxIngersollRossProcess CoxModel CoxModelFit CramerVonMisesTest CreateArchive CreateDialog CreateDirectory CreateDocument CreateIntermediateDirectories CreatePalette CreatePalettePacket CreateScheduledTask CreateTemporary CreateWindow CriticalityFailureImportance CriticalitySuccessImportance CriticalSection Cross CrossingDetect CrossMatrix Csc Csch CubeRoot Cubics Cuboid CuboidBox Cumulant CumulantGeneratingFunction Cup CupCap Curl CurlyDoubleQuote CurlyQuote CurrentImage CurrentlySpeakingPacket CurrentValue CurvatureFlowFilter CurveClosed Cyan CycleGraph CycleIndexPolynomial Cycles CyclicGroup Cyclotomic Cylinder CylinderBox CylindricalDecomposition D DagumDistribution DamerauLevenshteinDistance DampingFactor Darker Dashed Dashing DataCompression DataDistribution DataRange DataReversed Date DateDelimiters DateDifference DateFunction DateList DateListLogPlot DateListPlot DatePattern DatePlus DateRange DateString DateTicksFormat DaubechiesWavelet DavisDistribution DawsonF DayCount DayCountConvention DayMatchQ DayName DayPlus DayRange DayRound DeBruijnGraph Debug DebugTag Decimal DeclareKnownSymbols DeclarePackage Decompose Decrement DedekindEta Default DefaultAxesStyle DefaultBaseStyle DefaultBoxStyle DefaultButton DefaultColor DefaultControlPlacement DefaultDuplicateCellStyle DefaultDuration DefaultElement DefaultFaceGridsStyle DefaultFieldHintStyle DefaultFont DefaultFontProperties DefaultFormatType DefaultFormatTypeForStyle DefaultFrameStyle DefaultFrameTicksStyle DefaultGridLinesStyle DefaultInlineFormatType DefaultInputFormatType DefaultLabelStyle DefaultMenuStyle DefaultNaturalLanguage DefaultNewCellStyle DefaultNewInlineCellStyle DefaultNotebook DefaultOptions DefaultOutputFormatType DefaultStyle DefaultStyleDefinitions DefaultTextFormatType DefaultTextInlineFormatType DefaultTicksStyle DefaultTooltipStyle DefaultValues Defer DefineExternal DefineInputStreamMethod DefineOutputStreamMethod Definition Degree DegreeCentrality DegreeGraphDistribution DegreeLexicographic DegreeReverseLexicographic Deinitialization Del Deletable Delete DeleteBorderComponents DeleteCases DeleteContents DeleteDirectory DeleteDuplicates DeleteFile DeleteSmallComponents DeleteWithContents DeletionWarning Delimiter DelimiterFlashTime DelimiterMatching Delimiters Denominator DensityGraphics DensityHistogram DensityPlot DependentVariables Deploy Deployed Depth DepthFirstScan Derivative DerivativeFilter DescriptorStateSpace DesignMatrix Det DGaussianWavelet DiacriticalPositioning Diagonal DiagonalMatrix Dialog DialogIndent DialogInput DialogLevel DialogNotebook DialogProlog DialogReturn DialogSymbols Diamond DiamondMatrix DiceDissimilarity DictionaryLookup DifferenceDelta DifferenceOrder DifferenceRoot DifferenceRootReduce Differences DifferentialD DifferentialRoot DifferentialRootReduce DifferentiatorFilter DigitBlock DigitBlockMinimum DigitCharacter DigitCount DigitQ DihedralGroup Dilation Dimensions DiracComb DiracDelta DirectedEdge DirectedEdges DirectedGraph DirectedGraphQ DirectedInfinity Direction Directive Directory DirectoryName DirectoryQ DirectoryStack DirichletCharacter DirichletConvolve DirichletDistribution DirichletL DirichletTransform DirichletWindow DisableConsolePrintPacket DiscreteChirpZTransform DiscreteConvolve DiscreteDelta DiscreteHadamardTransform DiscreteIndicator DiscreteLQEstimatorGains DiscreteLQRegulatorGains DiscreteLyapunovSolve DiscreteMarkovProcess DiscretePlot DiscretePlot3D DiscreteRatio DiscreteRiccatiSolve DiscreteShift DiscreteTimeModelQ DiscreteUniformDistribution DiscreteVariables DiscreteWaveletData DiscreteWaveletPacketTransform DiscreteWaveletTransform Discriminant Disjunction Disk DiskBox DiskMatrix Dispatch DispersionEstimatorFunction Display DisplayAllSteps DisplayEndPacket DisplayFlushImagePacket DisplayForm DisplayFunction DisplayPacket DisplayRules DisplaySetSizePacket DisplayString DisplayTemporary DisplayWith DisplayWithRef DisplayWithVariable DistanceFunction DistanceTransform Distribute Distributed DistributedContexts DistributeDefinitions DistributionChart DistributionDomain DistributionFitTest DistributionParameterAssumptions DistributionParameterQ Dithering Div Divergence Divide DivideBy Dividers Divisible Divisors DivisorSigma DivisorSum DMSList DMSString Do DockedCells DocumentNotebook DominantColors DOSTextFormat Dot DotDashed DotEqual Dotted DoubleBracketingBar DoubleContourIntegral DoubleDownArrow DoubleLeftArrow DoubleLeftRightArrow DoubleLeftTee DoubleLongLeftArrow DoubleLongLeftRightArrow DoubleLongRightArrow DoubleRightArrow DoubleRightTee DoubleUpArrow DoubleUpDownArrow DoubleVerticalBar DoublyInfinite Down DownArrow DownArrowBar DownArrowUpArrow DownLeftRightVector DownLeftTeeVector DownLeftVector DownLeftVectorBar DownRightTeeVector DownRightVector DownRightVectorBar Downsample DownTee DownTeeArrow DownValues DragAndDrop DrawEdges DrawFrontFaces DrawHighlighted Drop DSolve Dt DualLinearProgramming DualSystemsModel DumpGet DumpSave DuplicateFreeQ Dynamic DynamicBox DynamicBoxOptions DynamicEvaluationTimeout DynamicLocation DynamicModule DynamicModuleBox DynamicModuleBoxOptions DynamicModuleParent DynamicModuleValues DynamicName DynamicNamespace DynamicReference DynamicSetting DynamicUpdating DynamicWrapper DynamicWrapperBox DynamicWrapperBoxOptions E EccentricityCentrality EdgeAdd EdgeBetweennessCentrality EdgeCapacity EdgeCapForm EdgeColor EdgeConnectivity EdgeCost EdgeCount EdgeCoverQ EdgeDashing EdgeDelete EdgeDetect EdgeForm EdgeIndex EdgeJoinForm EdgeLabeling EdgeLabels EdgeLabelStyle EdgeList EdgeOpacity EdgeQ EdgeRenderingFunction EdgeRules EdgeShapeFunction EdgeStyle EdgeThickness EdgeWeight Editable EditButtonSettings EditCellTagsSettings EditDistance EffectiveInterest Eigensystem Eigenvalues EigenvectorCentrality Eigenvectors Element ElementData Eliminate EliminationOrder EllipticE EllipticExp EllipticExpPrime EllipticF EllipticFilterModel EllipticK EllipticLog EllipticNomeQ EllipticPi EllipticReducedHalfPeriods EllipticTheta EllipticThetaPrime EmitSound EmphasizeSyntaxErrors EmpiricalDistribution Empty EmptyGraphQ EnableConsolePrintPacket Enabled Encode End EndAdd EndDialogPacket EndFrontEndInteractionPacket EndOfFile EndOfLine EndOfString EndPackage EngineeringForm Enter EnterExpressionPacket EnterTextPacket Entropy EntropyFilter Environment Epilog Equal EqualColumns EqualRows EqualTilde EquatedTo Equilibrium EquirippleFilterKernel Equivalent Erf Erfc Erfi ErlangB ErlangC ErlangDistribution Erosion ErrorBox ErrorBoxOptions ErrorNorm ErrorPacket ErrorsDialogSettings EstimatedDistribution EstimatedProcess EstimatorGains EstimatorRegulator EuclideanDistance EulerE EulerGamma EulerianGraphQ EulerPhi Evaluatable Evaluate Evaluated EvaluatePacket EvaluationCell EvaluationCompletionAction EvaluationElements EvaluationMode EvaluationMonitor EvaluationNotebook EvaluationObject EvaluationOrder Evaluator EvaluatorNames EvenQ EventData EventEvaluator EventHandler EventHandlerTag EventLabels ExactBlackmanWindow ExactNumberQ ExactRootIsolation ExampleData Except ExcludedForms ExcludePods Exclusions ExclusionsStyle Exists Exit ExitDialog Exp Expand ExpandAll ExpandDenominator ExpandFileName ExpandNumerator Expectation ExpectationE ExpectedValue ExpGammaDistribution ExpIntegralE ExpIntegralEi Exponent ExponentFunction ExponentialDistribution ExponentialFamily ExponentialGeneratingFunction ExponentialMovingAverage ExponentialPowerDistribution ExponentPosition ExponentStep Export ExportAutoReplacements ExportPacket ExportString Expression ExpressionCell ExpressionPacket ExpToTrig ExtendedGCD Extension ExtentElementFunction ExtentMarkers ExtentSize ExternalCall ExternalDataCharacterEncoding Extract ExtractArchive ExtremeValueDistribution FaceForm FaceGrids FaceGridsStyle Factor FactorComplete Factorial Factorial2 FactorialMoment FactorialMomentGeneratingFunction FactorialPower FactorInteger FactorList FactorSquareFree FactorSquareFreeList FactorTerms FactorTermsList Fail FailureDistribution False FARIMAProcess FEDisableConsolePrintPacket FeedbackSector FeedbackSectorStyle FeedbackType FEEnableConsolePrintPacket Fibonacci FieldHint FieldHintStyle FieldMasked FieldSize File FileBaseName FileByteCount FileDate FileExistsQ FileExtension FileFormat FileHash FileInformation FileName FileNameDepth FileNameDialogSettings FileNameDrop FileNameJoin FileNames FileNameSetter FileNameSplit FileNameTake FilePrint FileType FilledCurve FilledCurveBox Filling FillingStyle FillingTransform FilterRules FinancialBond FinancialData FinancialDerivative FinancialIndicator Find FindArgMax FindArgMin FindClique FindClusters FindCurvePath FindDistributionParameters FindDivisions FindEdgeCover FindEdgeCut FindEulerianCycle FindFaces FindFile FindFit FindGeneratingFunction FindGeoLocation FindGeometricTransform FindGraphCommunities FindGraphIsomorphism FindGraphPartition FindHamiltonianCycle FindIndependentEdgeSet FindIndependentVertexSet FindInstance FindIntegerNullVector FindKClan FindKClique FindKClub FindKPlex FindLibrary FindLinearRecurrence FindList FindMaximum FindMaximumFlow FindMaxValue FindMinimum FindMinimumCostFlow FindMinimumCut FindMinValue FindPermutation FindPostmanTour FindProcessParameters FindRoot FindSequenceFunction FindSettings FindShortestPath FindShortestTour FindThreshold FindVertexCover FindVertexCut Fine FinishDynamic FiniteAbelianGroupCount FiniteGroupCount FiniteGroupData First FirstPassageTimeDistribution FischerGroupFi22 FischerGroupFi23 FischerGroupFi24Prime FisherHypergeometricDistribution FisherRatioTest FisherZDistribution Fit FitAll FittedModel FixedPoint FixedPointList FlashSelection Flat Flatten FlattenAt FlatTopWindow FlipView Floor FlushPrintOutputPacket Fold FoldList Font FontColor FontFamily FontForm FontName FontOpacity FontPostScriptName FontProperties FontReencoding FontSize FontSlant FontSubstitutions FontTracking FontVariations FontWeight For ForAll Format FormatRules FormatType FormatTypeAutoConvert FormatValues FormBox FormBoxOptions FortranForm Forward ForwardBackward Fourier FourierCoefficient FourierCosCoefficient FourierCosSeries FourierCosTransform FourierDCT FourierDCTFilter FourierDCTMatrix FourierDST FourierDSTMatrix FourierMatrix FourierParameters FourierSequenceTransform FourierSeries FourierSinCoefficient FourierSinSeries FourierSinTransform FourierTransform FourierTrigSeries FractionalBrownianMotionProcess FractionalPart FractionBox FractionBoxOptions FractionLine Frame FrameBox FrameBoxOptions Framed FrameInset FrameLabel Frameless FrameMargins FrameStyle FrameTicks FrameTicksStyle FRatioDistribution FrechetDistribution FreeQ FrequencySamplingFilterKernel FresnelC FresnelS Friday FrobeniusNumber FrobeniusSolve FromCharacterCode FromCoefficientRules FromContinuedFraction FromDate FromDigits FromDMS Front FrontEndDynamicExpression FrontEndEventActions FrontEndExecute FrontEndObject FrontEndResource FrontEndResourceString FrontEndStackSize FrontEndToken FrontEndTokenExecute FrontEndValueCache FrontEndVersion FrontFaceColor FrontFaceOpacity Full FullAxes FullDefinition FullForm FullGraphics FullOptions FullSimplify Function FunctionExpand FunctionInterpolation FunctionSpace FussellVeselyImportance GaborFilter GaborMatrix GaborWavelet GainMargins GainPhaseMargins Gamma GammaDistribution GammaRegularized GapPenalty Gather GatherBy GaugeFaceElementFunction GaugeFaceStyle GaugeFrameElementFunction GaugeFrameSize GaugeFrameStyle GaugeLabels GaugeMarkers GaugeStyle GaussianFilter GaussianIntegers GaussianMatrix GaussianWindow GCD GegenbauerC General GeneralizedLinearModelFit GenerateConditions GeneratedCell GeneratedParameters GeneratingFunction Generic GenericCylindricalDecomposition GenomeData GenomeLookup GeodesicClosing GeodesicDilation GeodesicErosion GeodesicOpening GeoDestination GeodesyData GeoDirection GeoDistance GeoGridPosition GeometricBrownianMotionProcess GeometricDistribution GeometricMean GeometricMeanFilter GeometricTransformation GeometricTransformation3DBox GeometricTransformation3DBoxOptions GeometricTransformationBox GeometricTransformationBoxOptions GeoPosition GeoPositionENU GeoPositionXYZ GeoProjectionData GestureHandler GestureHandlerTag Get GetBoundingBoxSizePacket GetContext GetEnvironment GetFileName GetFrontEndOptionsDataPacket GetLinebreakInformationPacket GetMenusPacket GetPageBreakInformationPacket Glaisher GlobalClusteringCoefficient GlobalPreferences GlobalSession Glow GoldenRatio GompertzMakehamDistribution GoodmanKruskalGamma GoodmanKruskalGammaTest Goto Grad Gradient GradientFilter GradientOrientationFilter Graph GraphAssortativity GraphCenter GraphComplement GraphData GraphDensity GraphDiameter GraphDifference GraphDisjointUnion GraphDistance GraphDistanceMatrix GraphElementData GraphEmbedding GraphHighlight GraphHighlightStyle GraphHub Graphics Graphics3D Graphics3DBox Graphics3DBoxOptions GraphicsArray GraphicsBaseline GraphicsBox GraphicsBoxOptions GraphicsColor GraphicsColumn GraphicsComplex GraphicsComplex3DBox GraphicsComplex3DBoxOptions GraphicsComplexBox GraphicsComplexBoxOptions GraphicsContents GraphicsData GraphicsGrid GraphicsGridBox GraphicsGroup GraphicsGroup3DBox GraphicsGroup3DBoxOptions GraphicsGroupBox GraphicsGroupBoxOptions GraphicsGrouping GraphicsHighlightColor GraphicsRow GraphicsSpacing GraphicsStyle GraphIntersection GraphLayout GraphLinkEfficiency GraphPeriphery GraphPlot GraphPlot3D GraphPower GraphPropertyDistribution GraphQ GraphRadius GraphReciprocity GraphRoot GraphStyle GraphUnion Gray GrayLevel GreatCircleDistance Greater GreaterEqual GreaterEqualLess GreaterFullEqual GreaterGreater GreaterLess GreaterSlantEqual GreaterTilde Green Grid GridBaseline GridBox GridBoxAlignment GridBoxBackground GridBoxDividers GridBoxFrame GridBoxItemSize GridBoxItemStyle GridBoxOptions GridBoxSpacings GridCreationSettings GridDefaultElement GridElementStyleOptions GridFrame GridFrameMargins GridGraph GridLines GridLinesStyle GroebnerBasis GroupActionBase GroupCentralizer GroupElementFromWord GroupElementPosition GroupElementQ GroupElements GroupElementToWord GroupGenerators GroupMultiplicationTable GroupOrbits GroupOrder GroupPageBreakWithin GroupSetwiseStabilizer GroupStabilizer GroupStabilizerChain Gudermannian GumbelDistribution HaarWavelet HadamardMatrix HalfNormalDistribution HamiltonianGraphQ HammingDistance HammingWindow HankelH1 HankelH2 HankelMatrix HannPoissonWindow HannWindow HaradaNortonGroupHN HararyGraph HarmonicMean HarmonicMeanFilter HarmonicNumber Hash HashTable Haversine HazardFunction Head HeadCompose Heads HeavisideLambda HeavisidePi HeavisideTheta HeldGroupHe HeldPart HelpBrowserLookup HelpBrowserNotebook HelpBrowserSettings HermiteDecomposition HermiteH HermitianMatrixQ HessenbergDecomposition Hessian HexadecimalCharacter Hexahedron HexahedronBox HexahedronBoxOptions HiddenSurface HighlightGraph HighlightImage HighpassFilter HigmanSimsGroupHS HilbertFilter HilbertMatrix Histogram Histogram3D HistogramDistribution HistogramList HistogramTransform HistogramTransformInterpolation HitMissTransform HITSCentrality HodgeDual HoeffdingD HoeffdingDTest Hold HoldAll HoldAllComplete HoldComplete HoldFirst HoldForm HoldPattern HoldRest HolidayCalendar HomeDirectory HomePage Horizontal HorizontalForm HorizontalGauge HorizontalScrollPosition HornerForm HotellingTSquareDistribution HoytDistribution HTMLSave Hue HumpDownHump HumpEqual HurwitzLerchPhi HurwitzZeta HyperbolicDistribution HypercubeGraph HyperexponentialDistribution Hyperfactorial Hypergeometric0F1 Hypergeometric0F1Regularized Hypergeometric1F1 Hypergeometric1F1Regularized Hypergeometric2F1 Hypergeometric2F1Regularized HypergeometricDistribution HypergeometricPFQ HypergeometricPFQRegularized HypergeometricU Hyperlink HyperlinkCreationSettings Hyphenation HyphenationOptions HypoexponentialDistribution HypothesisTestData I Identity IdentityMatrix If IgnoreCase Im Image Image3D Image3DSlices ImageAccumulate ImageAdd ImageAdjust ImageAlign ImageApply ImageAspectRatio ImageAssemble ImageCache ImageCacheValid ImageCapture ImageChannels ImageClip ImageColorSpace ImageCompose ImageConvolve ImageCooccurrence ImageCorners ImageCorrelate ImageCorrespondingPoints ImageCrop ImageData ImageDataPacket ImageDeconvolve ImageDemosaic ImageDifference ImageDimensions ImageDistance ImageEffect ImageFeatureTrack ImageFileApply ImageFileFilter ImageFileScan ImageFilter ImageForestingComponents ImageForwardTransformation ImageHistogram ImageKeypoints ImageLevels ImageLines ImageMargins ImageMarkers ImageMeasurements ImageMultiply ImageOffset ImagePad ImagePadding ImagePartition ImagePeriodogram ImagePerspectiveTransformation ImageQ ImageRangeCache ImageReflect ImageRegion ImageResize ImageResolution ImageRotate ImageRotated ImageScaled ImageScan ImageSize ImageSizeAction ImageSizeCache ImageSizeMultipliers ImageSizeRaw ImageSubtract ImageTake ImageTransformation ImageTrim ImageType ImageValue ImageValuePositions Implies Import ImportAutoReplacements ImportString ImprovementImportance In IncidenceGraph IncidenceList IncidenceMatrix IncludeConstantBasis IncludeFileExtension IncludePods IncludeSingularTerm Increment Indent IndentingNewlineSpacings IndentMaxFraction IndependenceTest IndependentEdgeSetQ IndependentUnit IndependentVertexSetQ Indeterminate IndexCreationOptions Indexed IndexGraph IndexTag Inequality InexactNumberQ InexactNumbers Infinity Infix Information Inherited InheritScope Initialization InitializationCell InitializationCellEvaluation InitializationCellWarning InlineCounterAssignments InlineCounterIncrements InlineRules Inner Inpaint Input InputAliases InputAssumptions InputAutoReplacements InputField InputFieldBox InputFieldBoxOptions InputForm InputGrouping InputNamePacket InputNotebook InputPacket InputSettings InputStream InputString InputStringPacket InputToBoxFormPacket Insert InsertionPointObject InsertResults Inset Inset3DBox Inset3DBoxOptions InsetBox InsetBoxOptions Install InstallService InString Integer IntegerDigits IntegerExponent IntegerLength IntegerPart IntegerPartitions IntegerQ Integers IntegerString Integral Integrate Interactive InteractiveTradingChart Interlaced Interleaving InternallyBalancedDecomposition InterpolatingFunction InterpolatingPolynomial Interpolation InterpolationOrder InterpolationPoints InterpolationPrecision Interpretation InterpretationBox InterpretationBoxOptions InterpretationFunction InterpretTemplate InterquartileRange Interrupt InterruptSettings Intersection Interval IntervalIntersection IntervalMemberQ IntervalUnion Inverse InverseBetaRegularized InverseCDF InverseChiSquareDistribution InverseContinuousWaveletTransform InverseDistanceTransform InverseEllipticNomeQ InverseErf InverseErfc InverseFourier InverseFourierCosTransform InverseFourierSequenceTransform InverseFourierSinTransform InverseFourierTransform InverseFunction InverseFunctions InverseGammaDistribution InverseGammaRegularized InverseGaussianDistribution InverseGudermannian InverseHaversine InverseJacobiCD InverseJacobiCN InverseJacobiCS InverseJacobiDC InverseJacobiDN InverseJacobiDS InverseJacobiNC InverseJacobiND InverseJacobiNS InverseJacobiSC InverseJacobiSD InverseJacobiSN InverseLaplaceTransform InversePermutation InverseRadon InverseSeries InverseSurvivalFunction InverseWaveletTransform InverseWeierstrassP InverseZTransform Invisible InvisibleApplication InvisibleTimes IrreduciblePolynomialQ IsolatingInterval IsomorphicGraphQ IsotopeData Italic Item ItemBox ItemBoxOptions ItemSize ItemStyle ItoProcess JaccardDissimilarity JacobiAmplitude Jacobian JacobiCD JacobiCN JacobiCS JacobiDC JacobiDN JacobiDS JacobiNC JacobiND JacobiNS JacobiP JacobiSC JacobiSD JacobiSN JacobiSymbol JacobiZeta JankoGroupJ1 JankoGroupJ2 JankoGroupJ3 JankoGroupJ4 JarqueBeraALMTest JohnsonDistribution Join Joined JoinedCurve JoinedCurveBox JoinForm JordanDecomposition JordanModelDecomposition K KagiChart KaiserBesselWindow KaiserWindow KalmanEstimator KalmanFilter KarhunenLoeveDecomposition KaryTree KatzCentrality KCoreComponents KDistribution KelvinBei KelvinBer KelvinKei KelvinKer KendallTau KendallTauTest KernelExecute KernelMixtureDistribution KernelObject Kernels Ket Khinchin KirchhoffGraph KirchhoffMatrix KleinInvariantJ KnightTourGraph KnotData KnownUnitQ KolmogorovSmirnovTest KroneckerDelta KroneckerModelDecomposition KroneckerProduct KroneckerSymbol KuiperTest KumaraswamyDistribution Kurtosis KuwaharaFilter Label Labeled LabeledSlider LabelingFunction LabelStyle LaguerreL LambdaComponents LambertW LanczosWindow LandauDistribution Language LanguageCategory LaplaceDistribution LaplaceTransform Laplacian LaplacianFilter LaplacianGaussianFilter Large Larger Last Latitude LatitudeLongitude LatticeData LatticeReduce Launch LaunchKernels LayeredGraphPlot LayerSizeFunction LayoutInformation LCM LeafCount LeapYearQ LeastSquares LeastSquaresFilterKernel Left LeftArrow LeftArrowBar LeftArrowRightArrow LeftDownTeeVector LeftDownVector LeftDownVectorBar LeftRightArrow LeftRightVector LeftTee LeftTeeArrow LeftTeeVector LeftTriangle LeftTriangleBar LeftTriangleEqual LeftUpDownVector LeftUpTeeVector LeftUpVector LeftUpVectorBar LeftVector LeftVectorBar LegendAppearance Legended LegendFunction LegendLabel LegendLayout LegendMargins LegendMarkers LegendMarkerSize LegendreP LegendreQ LegendreType Length LengthWhile LerchPhi Less LessEqual LessEqualGreater LessFullEqual LessGreater LessLess LessSlantEqual LessTilde LetterCharacter LetterQ Level LeveneTest LeviCivitaTensor LevyDistribution Lexicographic LibraryFunction LibraryFunctionError LibraryFunctionInformation LibraryFunctionLoad LibraryFunctionUnload LibraryLoad LibraryUnload LicenseID LiftingFilterData LiftingWaveletTransform LightBlue LightBrown LightCyan Lighter LightGray LightGreen Lighting LightingAngle LightMagenta LightOrange LightPink LightPurple LightRed LightSources LightYellow Likelihood Limit LimitsPositioning LimitsPositioningTokens LindleyDistribution Line Line3DBox LinearFilter LinearFractionalTransform LinearModelFit LinearOffsetFunction LinearProgramming LinearRecurrence LinearSolve LinearSolveFunction LineBox LineBreak LinebreakAdjustments LineBreakChart LineBreakWithin LineColor LineForm LineGraph LineIndent LineIndentMaxFraction LineIntegralConvolutionPlot LineIntegralConvolutionScale LineLegend LineOpacity LineSpacing LineWrapParts LinkActivate LinkClose LinkConnect LinkConnectedQ LinkCreate LinkError LinkFlush LinkFunction LinkHost LinkInterrupt LinkLaunch LinkMode LinkObject LinkOpen LinkOptions LinkPatterns LinkProtocol LinkRead LinkReadHeld LinkReadyQ Links LinkWrite LinkWriteHeld LiouvilleLambda List Listable ListAnimate ListContourPlot ListContourPlot3D ListConvolve ListCorrelate ListCurvePathPlot ListDeconvolve ListDensityPlot Listen ListFourierSequenceTransform ListInterpolation ListLineIntegralConvolutionPlot ListLinePlot ListLogLinearPlot ListLogLogPlot ListLogPlot ListPicker ListPickerBox ListPickerBoxBackground ListPickerBoxOptions ListPlay ListPlot ListPlot3D ListPointPlot3D ListPolarPlot ListQ ListStreamDensityPlot ListStreamPlot ListSurfacePlot3D ListVectorDensityPlot ListVectorPlot ListVectorPlot3D ListZTransform Literal LiteralSearch LocalClusteringCoefficient LocalizeVariables LocationEquivalenceTest LocationTest Locator LocatorAutoCreate LocatorBox LocatorBoxOptions LocatorCentering LocatorPane LocatorPaneBox LocatorPaneBoxOptions LocatorRegion Locked Log Log10 Log2 LogBarnesG LogGamma LogGammaDistribution LogicalExpand LogIntegral LogisticDistribution LogitModelFit LogLikelihood LogLinearPlot LogLogisticDistribution LogLogPlot LogMultinormalDistribution LogNormalDistribution LogPlot LogRankTest LogSeriesDistribution LongEqual Longest LongestAscendingSequence LongestCommonSequence LongestCommonSequencePositions LongestCommonSubsequence LongestCommonSubsequencePositions LongestMatch LongForm Longitude LongLeftArrow LongLeftRightArrow LongRightArrow Loopback LoopFreeGraphQ LowerCaseQ LowerLeftArrow LowerRightArrow LowerTriangularize LowpassFilter LQEstimatorGains LQGRegulator LQOutputRegulatorGains LQRegulatorGains LUBackSubstitution LucasL LuccioSamiComponents LUDecomposition LyapunovSolve LyonsGroupLy MachineID MachineName MachineNumberQ MachinePrecision MacintoshSystemPageSetup Magenta Magnification Magnify MainSolve MaintainDynamicCaches Majority MakeBoxes MakeExpression MakeRules MangoldtLambda ManhattanDistance Manipulate Manipulator MannWhitneyTest MantissaExponent Manual Map MapAll MapAt MapIndexed MAProcess MapThread MarcumQ MardiaCombinedTest MardiaKurtosisTest MardiaSkewnessTest MarginalDistribution MarkovProcessProperties Masking MatchingDissimilarity MatchLocalNameQ MatchLocalNames MatchQ Material MathematicaNotation MathieuC MathieuCharacteristicA MathieuCharacteristicB MathieuCharacteristicExponent MathieuCPrime MathieuGroupM11 MathieuGroupM12 MathieuGroupM22 MathieuGroupM23 MathieuGroupM24 MathieuS MathieuSPrime MathMLForm MathMLText Matrices MatrixExp MatrixForm MatrixFunction MatrixLog MatrixPlot MatrixPower MatrixQ MatrixRank Max MaxBend MaxDetect MaxExtraBandwidths MaxExtraConditions MaxFeatures MaxFilter Maximize MaxIterations MaxMemoryUsed MaxMixtureKernels MaxPlotPoints MaxPoints MaxRecursion MaxStableDistribution MaxStepFraction MaxSteps MaxStepSize MaxValue MaxwellDistribution McLaughlinGroupMcL Mean MeanClusteringCoefficient MeanDegreeConnectivity MeanDeviation MeanFilter MeanGraphDistance MeanNeighborDegree MeanShift MeanShiftFilter Median MedianDeviation MedianFilter Medium MeijerG MeixnerDistribution MemberQ MemoryConstrained MemoryInUse Menu MenuAppearance MenuCommandKey MenuEvaluator MenuItem MenuPacket MenuSortingValue MenuStyle MenuView MergeDifferences Mesh MeshFunctions MeshRange MeshShading MeshStyle Message MessageDialog MessageList MessageName MessageOptions MessagePacket Messages MessagesNotebook MetaCharacters MetaInformation Method MethodOptions MexicanHatWavelet MeyerWavelet Min MinDetect MinFilter MinimalPolynomial MinimalStateSpaceModel Minimize Minors MinRecursion MinSize MinStableDistribution Minus MinusPlus MinValue Missing MissingDataMethod MittagLefflerE MixedRadix MixedRadixQuantity MixtureDistribution Mod Modal Mode Modular ModularLambda Module Modulus MoebiusMu Moment Momentary MomentConvert MomentEvaluate MomentGeneratingFunction Monday Monitor MonomialList MonomialOrder MonsterGroupM MorletWavelet MorphologicalBinarize MorphologicalBranchPoints MorphologicalComponents MorphologicalEulerNumber MorphologicalGraph MorphologicalPerimeter MorphologicalTransform Most MouseAnnotation MouseAppearance MouseAppearanceTag MouseButtons Mouseover MousePointerNote MousePosition MovingAverage MovingMedian MoyalDistribution MultiedgeStyle MultilaunchWarning MultiLetterItalics MultiLetterStyle MultilineFunction Multinomial MultinomialDistribution MultinormalDistribution MultiplicativeOrder Multiplicity Multiselection MultivariateHypergeometricDistribution MultivariatePoissonDistribution MultivariateTDistribution N NakagamiDistribution NameQ Names NamespaceBox Nand NArgMax NArgMin NBernoulliB NCache NDSolve NDSolveValue Nearest NearestFunction NeedCurrentFrontEndPackagePacket NeedCurrentFrontEndSymbolsPacket NeedlemanWunschSimilarity Needs Negative NegativeBinomialDistribution NegativeMultinomialDistribution NeighborhoodGraph Nest NestedGreaterGreater NestedLessLess NestedScriptRules NestList NestWhile NestWhileList NevilleThetaC NevilleThetaD NevilleThetaN NevilleThetaS NewPrimitiveStyle NExpectation Next NextPrime NHoldAll NHoldFirst NHoldRest NicholsGridLines NicholsPlot NIntegrate NMaximize NMaxValue NMinimize NMinValue NominalVariables NonAssociative NoncentralBetaDistribution NoncentralChiSquareDistribution NoncentralFRatioDistribution NoncentralStudentTDistribution NonCommutativeMultiply NonConstants None NonlinearModelFit NonlocalMeansFilter NonNegative NonPositive Nor NorlundB Norm Normal NormalDistribution NormalGrouping Normalize NormalizedSquaredEuclideanDistance NormalsFunction NormFunction Not NotCongruent NotCupCap NotDoubleVerticalBar Notebook NotebookApply NotebookAutoSave NotebookClose NotebookConvertSettings NotebookCreate NotebookCreateReturnObject NotebookDefault NotebookDelete NotebookDirectory NotebookDynamicExpression NotebookEvaluate NotebookEventActions NotebookFileName NotebookFind NotebookFindReturnObject NotebookGet NotebookGetLayoutInformationPacket NotebookGetMisspellingsPacket NotebookInformation NotebookInterfaceObject NotebookLocate NotebookObject NotebookOpen NotebookOpenReturnObject NotebookPath NotebookPrint NotebookPut NotebookPutReturnObject NotebookRead NotebookResetGeneratedCells Notebooks NotebookSave NotebookSaveAs NotebookSelection NotebookSetupLayoutInformationPacket NotebooksMenu NotebookWrite NotElement NotEqualTilde NotExists NotGreater NotGreaterEqual NotGreaterFullEqual NotGreaterGreater NotGreaterLess NotGreaterSlantEqual NotGreaterTilde NotHumpDownHump NotHumpEqual NotLeftTriangle NotLeftTriangleBar NotLeftTriangleEqual NotLess NotLessEqual NotLessFullEqual NotLessGreater NotLessLess NotLessSlantEqual NotLessTilde NotNestedGreaterGreater NotNestedLessLess NotPrecedes NotPrecedesEqual NotPrecedesSlantEqual NotPrecedesTilde NotReverseElement NotRightTriangle NotRightTriangleBar NotRightTriangleEqual NotSquareSubset NotSquareSubsetEqual NotSquareSuperset NotSquareSupersetEqual NotSubset NotSubsetEqual NotSucceeds NotSucceedsEqual NotSucceedsSlantEqual NotSucceedsTilde NotSuperset NotSupersetEqual NotTilde NotTildeEqual NotTildeFullEqual NotTildeTilde NotVerticalBar NProbability NProduct NProductFactors NRoots NSolve NSum NSumTerms Null NullRecords NullSpace NullWords Number NumberFieldClassNumber NumberFieldDiscriminant NumberFieldFundamentalUnits NumberFieldIntegralBasis NumberFieldNormRepresentatives NumberFieldRegulator NumberFieldRootsOfUnity NumberFieldSignature NumberForm NumberFormat NumberMarks NumberMultiplier NumberPadding NumberPoint NumberQ NumberSeparator NumberSigns NumberString Numerator NumericFunction NumericQ NuttallWindow NValues NyquistGridLines NyquistPlot O ObservabilityGramian ObservabilityMatrix ObservableDecomposition ObservableModelQ OddQ Off Offset OLEData On ONanGroupON OneIdentity Opacity Open OpenAppend Opener OpenerBox OpenerBoxOptions OpenerView OpenFunctionInspectorPacket Opening OpenRead OpenSpecialOptions OpenTemporary OpenWrite Operate OperatingSystem OptimumFlowData Optional OptionInspectorSettings OptionQ Options OptionsPacket OptionsPattern OptionValue OptionValueBox OptionValueBoxOptions Or Orange Order OrderDistribution OrderedQ Ordering Orderless OrnsteinUhlenbeckProcess Orthogonalize Out Outer OutputAutoOverwrite OutputControllabilityMatrix OutputControllableModelQ OutputForm OutputFormData OutputGrouping OutputMathEditExpression OutputNamePacket OutputResponse OutputSizeLimit OutputStream Over OverBar OverDot Overflow OverHat Overlaps Overlay OverlayBox OverlayBoxOptions Overscript OverscriptBox OverscriptBoxOptions OverTilde OverVector OwenT OwnValues PackingMethod PaddedForm Padding PadeApproximant PadLeft PadRight PageBreakAbove PageBreakBelow PageBreakWithin PageFooterLines PageFooters PageHeaderLines PageHeaders PageHeight PageRankCentrality PageWidth PairedBarChart PairedHistogram PairedSmoothHistogram PairedTTest PairedZTest PaletteNotebook PalettePath Pane PaneBox PaneBoxOptions Panel PanelBox PanelBoxOptions Paneled PaneSelector PaneSelectorBox PaneSelectorBoxOptions PaperWidth ParabolicCylinderD ParagraphIndent ParagraphSpacing ParallelArray ParallelCombine ParallelDo ParallelEvaluate Parallelization Parallelize ParallelMap ParallelNeeds ParallelProduct ParallelSubmit ParallelSum ParallelTable ParallelTry Parameter ParameterEstimator ParameterMixtureDistribution ParameterVariables ParametricFunction ParametricNDSolve ParametricNDSolveValue ParametricPlot ParametricPlot3D ParentConnect ParentDirectory ParentForm Parenthesize ParentList ParetoDistribution Part PartialCorrelationFunction PartialD ParticleData Partition PartitionsP PartitionsQ ParzenWindow PascalDistribution PassEventsDown PassEventsUp Paste PasteBoxFormInlineCells PasteButton Path PathGraph PathGraphQ Pattern PatternSequence PatternTest PauliMatrix PaulWavelet Pause PausedTime PDF PearsonChiSquareTest PearsonCorrelationTest PearsonDistribution PerformanceGoal PeriodicInterpolation Periodogram PeriodogramArray PermutationCycles PermutationCyclesQ PermutationGroup PermutationLength PermutationList PermutationListQ PermutationMax PermutationMin PermutationOrder PermutationPower PermutationProduct PermutationReplace Permutations PermutationSupport Permute PeronaMalikFilter Perpendicular PERTDistribution PetersenGraph PhaseMargins Pi Pick PIDData PIDDerivativeFilter PIDFeedforward PIDTune Piecewise PiecewiseExpand PieChart PieChart3D PillaiTrace PillaiTraceTest Pink Pivoting PixelConstrained PixelValue PixelValuePositions Placed Placeholder PlaceholderReplace Plain PlanarGraphQ Play PlayRange Plot Plot3D Plot3Matrix PlotDivision PlotJoined PlotLabel PlotLayout PlotLegends PlotMarkers PlotPoints PlotRange PlotRangeClipping PlotRangePadding PlotRegion PlotStyle Plus PlusMinus Pochhammer PodStates PodWidth Point Point3DBox PointBox PointFigureChart PointForm PointLegend PointSize PoissonConsulDistribution PoissonDistribution PoissonProcess PoissonWindow PolarAxes PolarAxesOrigin PolarGridLines PolarPlot PolarTicks PoleZeroMarkers PolyaAeppliDistribution PolyGamma Polygon Polygon3DBox Polygon3DBoxOptions PolygonBox PolygonBoxOptions PolygonHoleScale PolygonIntersections PolygonScale PolyhedronData PolyLog PolynomialExtendedGCD PolynomialForm PolynomialGCD PolynomialLCM PolynomialMod PolynomialQ PolynomialQuotient PolynomialQuotientRemainder PolynomialReduce PolynomialRemainder Polynomials PopupMenu PopupMenuBox PopupMenuBoxOptions PopupView PopupWindow Position Positive PositiveDefiniteMatrixQ PossibleZeroQ Postfix PostScript Power PowerDistribution PowerExpand PowerMod PowerModList PowerSpectralDensity PowersRepresentations PowerSymmetricPolynomial Precedence PrecedenceForm Precedes PrecedesEqual PrecedesSlantEqual PrecedesTilde Precision PrecisionGoal PreDecrement PredictionRoot PreemptProtect PreferencesPath Prefix PreIncrement Prepend PrependTo PreserveImageOptions Previous PriceGraphDistribution PrimaryPlaceholder Prime PrimeNu PrimeOmega PrimePi PrimePowerQ PrimeQ Primes PrimeZetaP PrimitiveRoot PrincipalComponents PrincipalValue Print PrintAction PrintForm PrintingCopies PrintingOptions PrintingPageRange PrintingStartingPageNumber PrintingStyleEnvironment PrintPrecision PrintTemporary Prism PrismBox PrismBoxOptions PrivateCellOptions PrivateEvaluationOptions PrivateFontOptions PrivateFrontEndOptions PrivateNotebookOptions PrivatePaths Probability ProbabilityDistribution ProbabilityPlot ProbabilityPr ProbabilityScalePlot ProbitModelFit ProcessEstimator ProcessParameterAssumptions ProcessParameterQ ProcessStateDomain ProcessTimeDomain Product ProductDistribution ProductLog ProgressIndicator ProgressIndicatorBox ProgressIndicatorBoxOptions Projection Prolog PromptForm Properties Property PropertyList PropertyValue Proportion Proportional Protect Protected ProteinData Pruning PseudoInverse Purple Put PutAppend Pyramid PyramidBox PyramidBoxOptions QBinomial QFactorial QGamma QHypergeometricPFQ QPochhammer QPolyGamma QRDecomposition QuadraticIrrationalQ Quantile QuantilePlot Quantity QuantityForm QuantityMagnitude QuantityQ QuantityUnit Quartics QuartileDeviation Quartiles QuartileSkewness QueueingNetworkProcess QueueingProcess QueueProperties Quiet Quit Quotient QuotientRemainder RadialityCentrality RadicalBox RadicalBoxOptions RadioButton RadioButtonBar RadioButtonBox RadioButtonBoxOptions Radon RamanujanTau RamanujanTauL RamanujanTauTheta RamanujanTauZ Random RandomChoice RandomComplex RandomFunction RandomGraph RandomImage RandomInteger RandomPermutation RandomPrime RandomReal RandomSample RandomSeed RandomVariate RandomWalkProcess Range RangeFilter RangeSpecification RankedMax RankedMin Raster Raster3D Raster3DBox Raster3DBoxOptions RasterArray RasterBox RasterBoxOptions Rasterize RasterSize Rational RationalFunctions Rationalize Rationals Ratios Raw RawArray RawBoxes RawData RawMedium RayleighDistribution Re Read ReadList ReadProtected Real RealBlockDiagonalForm RealDigits RealExponent Reals Reap Record RecordLists RecordSeparators Rectangle RectangleBox RectangleBoxOptions RectangleChart RectangleChart3D RecurrenceFilter RecurrenceTable RecurringDigitsForm Red Reduce RefBox ReferenceLineStyle ReferenceMarkers ReferenceMarkerStyle Refine ReflectionMatrix ReflectionTransform Refresh RefreshRate RegionBinarize RegionFunction RegionPlot RegionPlot3D RegularExpression Regularization Reinstall Release ReleaseHold ReliabilityDistribution ReliefImage ReliefPlot Remove RemoveAlphaChannel RemoveAsynchronousTask Removed RemoveInputStreamMethod RemoveOutputStreamMethod RemoveProperty RemoveScheduledTask RenameDirectory RenameFile RenderAll RenderingOptions RenewalProcess RenkoChart Repeated RepeatedNull RepeatedString Replace ReplaceAll ReplaceHeldPart ReplaceImageValue ReplaceList ReplacePart ReplacePixelValue ReplaceRepeated Resampling Rescale RescalingTransform ResetDirectory ResetMenusPacket ResetScheduledTask Residue Resolve Rest Resultant ResumePacket Return ReturnExpressionPacket ReturnInputFormPacket ReturnPacket ReturnTextPacket Reverse ReverseBiorthogonalSplineWavelet ReverseElement ReverseEquilibrium ReverseGraph ReverseUpEquilibrium RevolutionAxis RevolutionPlot3D RGBColor RiccatiSolve RiceDistribution RidgeFilter RiemannR RiemannSiegelTheta RiemannSiegelZ Riffle Right RightArrow RightArrowBar RightArrowLeftArrow RightCosetRepresentative RightDownTeeVector RightDownVector RightDownVectorBar RightTee RightTeeArrow RightTeeVector RightTriangle RightTriangleBar RightTriangleEqual RightUpDownVector RightUpTeeVector RightUpVector RightUpVectorBar RightVector RightVectorBar RiskAchievementImportance RiskReductionImportance RogersTanimotoDissimilarity Root RootApproximant RootIntervals RootLocusPlot RootMeanSquare RootOfUnityQ RootReduce Roots RootSum Rotate RotateLabel RotateLeft RotateRight RotationAction RotationBox RotationBoxOptions RotationMatrix RotationTransform Round RoundImplies RoundingRadius Row RowAlignments RowBackgrounds RowBox RowHeights RowLines RowMinHeight RowReduce RowsEqual RowSpacings RSolve RudvalisGroupRu Rule RuleCondition RuleDelayed RuleForm RulerUnits Run RunScheduledTask RunThrough RuntimeAttributes RuntimeOptions RussellRaoDissimilarity SameQ SameTest SampleDepth SampledSoundFunction SampledSoundList SampleRate SamplingPeriod SARIMAProcess SARMAProcess SatisfiabilityCount SatisfiabilityInstances SatisfiableQ Saturday Save Saveable SaveAutoDelete SaveDefinitions SawtoothWave Scale Scaled ScaleDivisions ScaledMousePosition ScaleOrigin ScalePadding ScaleRanges ScaleRangeStyle ScalingFunctions ScalingMatrix ScalingTransform Scan ScheduledTaskActiveQ ScheduledTaskData ScheduledTaskObject ScheduledTasks SchurDecomposition ScientificForm ScreenRectangle ScreenStyleEnvironment ScriptBaselineShifts ScriptLevel ScriptMinSize ScriptRules ScriptSizeMultipliers Scrollbars ScrollingOptions ScrollPosition Sec Sech SechDistribution SectionGrouping SectorChart SectorChart3D SectorOrigin SectorSpacing SeedRandom Select Selectable SelectComponents SelectedCells SelectedNotebook Selection SelectionAnimate SelectionCell SelectionCellCreateCell SelectionCellDefaultStyle SelectionCellParentStyle SelectionCreateCell SelectionDebuggerTag SelectionDuplicateCell SelectionEvaluate SelectionEvaluateCreateCell SelectionMove SelectionPlaceholder SelectionSetStyle SelectWithContents SelfLoops SelfLoopStyle SemialgebraicComponentInstances SendMail Sequence SequenceAlignment SequenceForm SequenceHold SequenceLimit Series SeriesCoefficient SeriesData SessionTime Set SetAccuracy SetAlphaChannel SetAttributes Setbacks SetBoxFormNamesPacket SetDelayed SetDirectory SetEnvironment SetEvaluationNotebook SetFileDate SetFileLoadingContext SetNotebookStatusLine SetOptions SetOptionsPacket SetPrecision SetProperty SetSelectedNotebook SetSharedFunction SetSharedVariable SetSpeechParametersPacket SetStreamPosition SetSystemOptions Setter SetterBar SetterBox SetterBoxOptions Setting SetValue Shading Shallow ShannonWavelet ShapiroWilkTest Share Sharpen ShearingMatrix ShearingTransform ShenCastanMatrix Short ShortDownArrow Shortest ShortestMatch ShortestPathFunction ShortLeftArrow ShortRightArrow ShortUpArrow Show ShowAutoStyles ShowCellBracket ShowCellLabel ShowCellTags ShowClosedCellArea ShowContents ShowControls ShowCursorTracker ShowGroupOpenCloseIcon ShowGroupOpener ShowInvisibleCharacters ShowPageBreaks ShowPredictiveInterface ShowSelection ShowShortBoxForm ShowSpecialCharacters ShowStringCharacters ShowSyntaxStyles ShrinkingDelay ShrinkWrapBoundingBox SiegelTheta SiegelTukeyTest Sign Signature SignedRankTest SignificanceLevel SignPadding SignTest SimilarityRules SimpleGraph SimpleGraphQ Simplify Sin Sinc SinghMaddalaDistribution SingleEvaluation SingleLetterItalics SingleLetterStyle SingularValueDecomposition SingularValueList SingularValuePlot SingularValues Sinh SinhIntegral SinIntegral SixJSymbol Skeleton SkeletonTransform SkellamDistribution Skewness SkewNormalDistribution Skip SliceDistribution Slider Slider2D Slider2DBox Slider2DBoxOptions SliderBox SliderBoxOptions SlideView Slot SlotSequence Small SmallCircle Smaller SmithDelayCompensator SmithWatermanSimilarity SmoothDensityHistogram SmoothHistogram SmoothHistogram3D SmoothKernelDistribution SocialMediaData Socket SokalSneathDissimilarity Solve SolveAlways SolveDelayed Sort SortBy Sound SoundAndGraphics SoundNote SoundVolume Sow Space SpaceForm Spacer Spacings Span SpanAdjustments SpanCharacterRounding SpanFromAbove SpanFromBoth SpanFromLeft SpanLineThickness SpanMaxSize SpanMinSize SpanningCharacters SpanSymmetric SparseArray SpatialGraphDistribution Speak SpeakTextPacket SpearmanRankTest SpearmanRho Spectrogram SpectrogramArray Specularity SpellingCorrection SpellingDictionaries SpellingDictionariesPath SpellingOptions SpellingSuggestionsPacket Sphere SphereBox SphericalBesselJ SphericalBesselY SphericalHankelH1 SphericalHankelH2 SphericalHarmonicY SphericalPlot3D SphericalRegion SpheroidalEigenvalue SpheroidalJoiningFactor SpheroidalPS SpheroidalPSPrime SpheroidalQS SpheroidalQSPrime SpheroidalRadialFactor SpheroidalS1 SpheroidalS1Prime SpheroidalS2 SpheroidalS2Prime Splice SplicedDistribution SplineClosed SplineDegree SplineKnots SplineWeights Split SplitBy SpokenString Sqrt SqrtBox SqrtBoxOptions Square SquaredEuclideanDistance SquareFreeQ SquareIntersection SquaresR SquareSubset SquareSubsetEqual SquareSuperset SquareSupersetEqual SquareUnion SquareWave StabilityMargins StabilityMarginsStyle StableDistribution Stack StackBegin StackComplete StackInhibit StandardDeviation StandardDeviationFilter StandardForm Standardize StandbyDistribution Star StarGraph StartAsynchronousTask StartingStepSize StartOfLine StartOfString StartScheduledTask StartupSound StateDimensions StateFeedbackGains StateOutputEstimator StateResponse StateSpaceModel StateSpaceRealization StateSpaceTransform StationaryDistribution StationaryWaveletPacketTransform StationaryWaveletTransform StatusArea StatusCentrality StepMonitor StieltjesGamma StirlingS1 StirlingS2 StopAsynchronousTask StopScheduledTask StrataVariables StratonovichProcess StreamColorFunction StreamColorFunctionScaling StreamDensityPlot StreamPlot StreamPoints StreamPosition Streams StreamScale StreamStyle String StringBreak StringByteCount StringCases StringCount StringDrop StringExpression StringForm StringFormat StringFreeQ StringInsert StringJoin StringLength StringMatchQ StringPosition StringQ StringReplace StringReplaceList StringReplacePart StringReverse StringRotateLeft StringRotateRight StringSkeleton StringSplit StringTake StringToStream StringTrim StripBoxes StripOnInput StripWrapperBoxes StrokeForm StructuralImportance StructuredArray StructuredSelection StruveH StruveL Stub StudentTDistribution Style StyleBox StyleBoxAutoDelete StyleBoxOptions StyleData StyleDefinitions StyleForm StyleKeyMapping StyleMenuListing StyleNameDialogSettings StyleNames StylePrint StyleSheetPath Subfactorial Subgraph SubMinus SubPlus SubresultantPolynomialRemainders SubresultantPolynomials Subresultants Subscript SubscriptBox SubscriptBoxOptions Subscripted Subset SubsetEqual Subsets SubStar Subsuperscript SubsuperscriptBox SubsuperscriptBoxOptions Subtract SubtractFrom SubValues Succeeds SucceedsEqual SucceedsSlantEqual SucceedsTilde SuchThat Sum SumConvergence Sunday SuperDagger SuperMinus SuperPlus Superscript SuperscriptBox SuperscriptBoxOptions Superset SupersetEqual SuperStar Surd SurdForm SurfaceColor SurfaceGraphics SurvivalDistribution SurvivalFunction SurvivalModel SurvivalModelFit SuspendPacket SuzukiDistribution SuzukiGroupSuz SwatchLegend Switch Symbol SymbolName SymletWavelet Symmetric SymmetricGroup SymmetricMatrixQ SymmetricPolynomial SymmetricReduction Symmetrize SymmetrizedArray SymmetrizedArrayRules SymmetrizedDependentComponents SymmetrizedIndependentComponents SymmetrizedReplacePart SynchronousInitialization SynchronousUpdating Syntax SyntaxForm SyntaxInformation SyntaxLength SyntaxPacket SyntaxQ SystemDialogInput SystemException SystemHelpPath SystemInformation SystemInformationData SystemOpen SystemOptions SystemsModelDelay SystemsModelDelayApproximate SystemsModelDelete SystemsModelDimensions SystemsModelExtract SystemsModelFeedbackConnect SystemsModelLabels SystemsModelOrder SystemsModelParallelConnect SystemsModelSeriesConnect SystemsModelStateFeedbackConnect SystemStub Tab TabFilling Table TableAlignments TableDepth TableDirections TableForm TableHeadings TableSpacing TableView TableViewBox TabSpacings TabView TabViewBox TabViewBoxOptions TagBox TagBoxNote TagBoxOptions TaggingRules TagSet TagSetDelayed TagStyle TagUnset Take TakeWhile Tally Tan Tanh TargetFunctions TargetUnits TautologyQ TelegraphProcess TemplateBox TemplateBoxOptions TemplateSlotSequence TemporalData Temporary TemporaryVariable TensorContract TensorDimensions TensorExpand TensorProduct TensorQ TensorRank TensorReduce TensorSymmetry TensorTranspose TensorWedge Tetrahedron TetrahedronBox TetrahedronBoxOptions TeXForm TeXSave Text Text3DBox Text3DBoxOptions TextAlignment TextBand TextBoundingBox TextBox TextCell TextClipboardType TextData TextForm TextJustification TextLine TextPacket TextParagraph TextRecognize TextRendering TextStyle Texture TextureCoordinateFunction TextureCoordinateScaling Therefore ThermometerGauge Thick Thickness Thin Thinning ThisLink ThompsonGroupTh Thread ThreeJSymbol Threshold Through Throw Thumbnail Thursday Ticks TicksStyle Tilde TildeEqual TildeFullEqual TildeTilde TimeConstrained TimeConstraint Times TimesBy TimeSeriesForecast TimeSeriesInvertibility TimeUsed TimeValue TimeZone Timing Tiny TitleGrouping TitsGroupT ToBoxes ToCharacterCode ToColor ToContinuousTimeModel ToDate ToDiscreteTimeModel ToeplitzMatrix ToExpression ToFileName Together Toggle ToggleFalse Toggler TogglerBar TogglerBox TogglerBoxOptions ToHeldExpression ToInvertibleTimeSeries TokenWords Tolerance ToLowerCase ToNumberField TooBig Tooltip TooltipBox TooltipBoxOptions TooltipDelay TooltipStyle Top TopHatTransform TopologicalSort ToRadicals ToRules ToString Total TotalHeight TotalVariationFilter TotalWidth TouchscreenAutoZoom TouchscreenControlPlacement ToUpperCase Tr Trace TraceAbove TraceAction TraceBackward TraceDepth TraceDialog TraceForward TraceInternal TraceLevel TraceOff TraceOn TraceOriginal TracePrint TraceScan TrackedSymbols TradingChart TraditionalForm TraditionalFunctionNotation TraditionalNotation TraditionalOrder TransferFunctionCancel TransferFunctionExpand TransferFunctionFactor TransferFunctionModel TransferFunctionPoles TransferFunctionTransform TransferFunctionZeros TransformationFunction TransformationFunctions TransformationMatrix TransformedDistribution TransformedField Translate TranslationTransform TransparentColor Transpose TreeForm TreeGraph TreeGraphQ TreePlot TrendStyle TriangleWave TriangularDistribution Trig TrigExpand TrigFactor TrigFactorList Trigger TrigReduce TrigToExp TrimmedMean True TrueQ TruncatedDistribution TsallisQExponentialDistribution TsallisQGaussianDistribution TTest Tube TubeBezierCurveBox TubeBezierCurveBoxOptions TubeBox TubeBSplineCurveBox TubeBSplineCurveBoxOptions Tuesday TukeyLambdaDistribution TukeyWindow Tuples TuranGraph TuringMachine Transparent UnateQ Uncompress Undefined UnderBar Underflow Underlined Underoverscript UnderoverscriptBox UnderoverscriptBoxOptions Underscript UnderscriptBox UnderscriptBoxOptions UndirectedEdge UndirectedGraph UndirectedGraphQ UndocumentedTestFEParserPacket UndocumentedTestGetSelectionPacket Unequal Unevaluated UniformDistribution UniformGraphDistribution UniformSumDistribution Uninstall Union UnionPlus Unique UnitBox UnitConvert UnitDimensions Unitize UnitRootTest UnitSimplify UnitStep UnitTriangle UnitVector Unprotect UnsameQ UnsavedVariables Unset UnsetShared UntrackedVariables Up UpArrow UpArrowBar UpArrowDownArrow Update UpdateDynamicObjects UpdateDynamicObjectsSynchronous UpdateInterval UpDownArrow UpEquilibrium UpperCaseQ UpperLeftArrow UpperRightArrow UpperTriangularize Upsample UpSet UpSetDelayed UpTee UpTeeArrow UpValues URL URLFetch URLFetchAsynchronous URLSave URLSaveAsynchronous UseGraphicsRange Using UsingFrontEnd V2Get ValidationLength Value ValueBox ValueBoxOptions ValueForm ValueQ ValuesData Variables Variance VarianceEquivalenceTest VarianceEstimatorFunction VarianceGammaDistribution VarianceTest VectorAngle VectorColorFunction VectorColorFunctionScaling VectorDensityPlot VectorGlyphData VectorPlot VectorPlot3D VectorPoints VectorQ Vectors VectorScale VectorStyle Vee Verbatim Verbose VerboseConvertToPostScriptPacket VerifyConvergence VerifySolutions VerifyTestAssumptions Version VersionNumber VertexAdd VertexCapacity VertexColors VertexComponent VertexConnectivity VertexCoordinateRules VertexCoordinates VertexCorrelationSimilarity VertexCosineSimilarity VertexCount VertexCoverQ VertexDataCoordinates VertexDegree VertexDelete VertexDiceSimilarity VertexEccentricity VertexInComponent VertexInDegree VertexIndex VertexJaccardSimilarity VertexLabeling VertexLabels VertexLabelStyle VertexList VertexNormals VertexOutComponent VertexOutDegree VertexQ VertexRenderingFunction VertexReplace VertexShape VertexShapeFunction VertexSize VertexStyle VertexTextureCoordinates VertexWeight Vertical VerticalBar VerticalForm VerticalGauge VerticalSeparator VerticalSlider VerticalTilde ViewAngle ViewCenter ViewMatrix ViewPoint ViewPointSelectorSettings ViewPort ViewRange ViewVector ViewVertical VirtualGroupData Visible VisibleCell VoigtDistribution VonMisesDistribution WaitAll WaitAsynchronousTask WaitNext WaitUntil WakebyDistribution WalleniusHypergeometricDistribution WaringYuleDistribution WatershedComponents WatsonUSquareTest WattsStrogatzGraphDistribution WaveletBestBasis WaveletFilterCoefficients WaveletImagePlot WaveletListPlot WaveletMapIndexed WaveletMatrixPlot WaveletPhi WaveletPsi WaveletScale WaveletScalogram WaveletThreshold WeaklyConnectedComponents WeaklyConnectedGraphQ WeakStationarity WeatherData WeberE Wedge Wednesday WeibullDistribution WeierstrassHalfPeriods WeierstrassInvariants WeierstrassP WeierstrassPPrime WeierstrassSigma WeierstrassZeta WeightedAdjacencyGraph WeightedAdjacencyMatrix WeightedData WeightedGraphQ Weights WelchWindow WheelGraph WhenEvent Which While White Whitespace WhitespaceCharacter WhittakerM WhittakerW WienerFilter WienerProcess WignerD WignerSemicircleDistribution WilksW WilksWTest WindowClickSelect WindowElements WindowFloating WindowFrame WindowFrameElements WindowMargins WindowMovable WindowOpacity WindowSelected WindowSize WindowStatusArea WindowTitle WindowToolbars WindowWidth With WolframAlpha WolframAlphaDate WolframAlphaQuantity WolframAlphaResult Word WordBoundary WordCharacter WordData WordSearch WordSeparators WorkingPrecision Write WriteString Wronskian XMLElement XMLObject Xnor Xor Yellow YuleDissimilarity ZernikeR ZeroSymmetric ZeroTest ZeroWidthTimes Zeta ZetaZero ZipfDistribution ZTest ZTransform $Aborted $ActivationGroupID $ActivationKey $ActivationUserRegistered $AddOnsDirectory $AssertFunction $Assumptions $AsynchronousTask $BaseDirectory $BatchInput $BatchOutput $BoxForms $ByteOrdering $Canceled $CharacterEncoding $CharacterEncodings $CommandLine $CompilationTarget $ConditionHold $ConfiguredKernels $Context $ContextPath $ControlActiveSetting $CreationDate $CurrentLink $DateStringFormat $DefaultFont $DefaultFrontEnd $DefaultImagingDevice $DefaultPath $Display $DisplayFunction $DistributedContexts $DynamicEvaluation $Echo $Epilog $ExportFormats $Failed $FinancialDataSource $FormatType $FrontEnd $FrontEndSession $GeoLocation $HistoryLength $HomeDirectory $HTTPCookies $IgnoreEOF $ImagingDevices $ImportFormats $InitialDirectory $Input $InputFileName $InputStreamMethods $Inspector $InstallationDate $InstallationDirectory $InterfaceEnvironment $IterationLimit $KernelCount $KernelID $Language $LaunchDirectory $LibraryPath $LicenseExpirationDate $LicenseID $LicenseProcesses $LicenseServer $LicenseSubprocesses $LicenseType $Line $Linked $LinkSupported $LoadedFiles $MachineAddresses $MachineDomain $MachineDomains $MachineEpsilon $MachineID $MachineName $MachinePrecision $MachineType $MaxExtraPrecision $MaxLicenseProcesses $MaxLicenseSubprocesses $MaxMachineNumber $MaxNumber $MaxPiecewiseCases $MaxPrecision $MaxRootDegree $MessageGroups $MessageList $MessagePrePrint $Messages $MinMachineNumber $MinNumber $MinorReleaseNumber $MinPrecision $ModuleNumber $NetworkLicense $NewMessage $NewSymbol $Notebooks $NumberMarks $Off $OperatingSystem $Output $OutputForms $OutputSizeLimit $OutputStreamMethods $Packages $ParentLink $ParentProcessID $PasswordFile $PatchLevelID $Path $PathnameSeparator $PerformanceGoal $PipeSupported $Post $Pre $PreferencesDirectory $PrePrint $PreRead $PrintForms $PrintLiteral $ProcessID $ProcessorCount $ProcessorType $ProductInformation $ProgramName $RandomState $RecursionLimit $ReleaseNumber $RootDirectory $ScheduledTask $ScriptCommandLine $SessionID $SetParentLink $SharedFunctions $SharedVariables $SoundDisplay $SoundDisplayFunction $SuppressInputFormHeads $SynchronousEvaluation $SyntaxHandler $System $SystemCharacterEncoding $SystemID $SystemWordLength $TemporaryDirectory $TemporaryPrefix $TextStyle $TimedOut $TimeUnit $TimeZone $TopDirectory $TraceOff $TraceOn $TracePattern $TracePostAction $TracePreAction $Urgent $UserAddOnsDirectory $UserBaseDirectory $UserDocumentsDirectory $UserName $Version $VersionNumber",c:[{cN:"comment",b:/\(\*/,e:/\*\)/},a.ASM,a.QSM,a.CNM,{cN:"list",b:/\{/,e:/\}/,i:/:/}]}});hljs.registerLanguage("swift",function(a){var e={keyword:"class deinit enum extension func import init let protocol static struct subscript typealias var break case continue default do else fallthrough if in for return switch where while as dynamicType is new super self Self Type __COLUMN__ __FILE__ __FUNCTION__ __LINE__ associativity didSet get infix inout left mutating none nonmutating operator override postfix precedence prefix right set unowned unowned safe unsafe weak willSet",literal:"true false nil",built_in:"abs advance alignof alignofValue assert bridgeFromObjectiveC bridgeFromObjectiveCUnconditional bridgeToObjectiveC bridgeToObjectiveCUnconditional c contains count countElements countLeadingZeros debugPrint debugPrintln distance dropFirst dropLast dump encodeBitsAsWords enumerate equal false filter find getBridgedObjectiveCType getVaList indices insertionSort isBridgedToObjectiveC isBridgedVerbatimToObjectiveC isUniquelyReferenced join lexicographicalCompare map max maxElement min minElement nil numericCast partition posix print println quickSort reduce reflect reinterpretCast reverse roundUpToAlignment sizeof sizeofValue sort split startsWith strideof strideofValue swap swift toString transcode true underestimateCount unsafeReflect withExtendedLifetime withObjectAtPlusZero withUnsafePointer withUnsafePointerToObject withUnsafePointers withVaList"};var g={cN:"type",b:"\\b[A-Z][\\w']*",r:0};var b={cN:"comment",b:"/\\*",e:"\\*/",c:[a.PWM,"self"]};var c={cN:"subst",b:/\\\(/,e:"\\)",k:e,c:[]};var f={cN:"number",b:"\\b([\\d_]+(\\.[\\deE_]+)?|0x[a-fA-F0-9_]+(\\.[a-fA-F0-9p_]+)?|0b[01_]+|0o[0-7_]+)\\b",r:0};var d=a.inherit(a.QSM,{c:[c,a.BE]});c.c=[f];return{k:e,c:[d,a.CLCM,b,g,f,{cN:"func",bK:"func",e:"{",eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/,i:/\(/}),{cN:"generics",b:/\/,i:/\>/},{cN:"params",b:/\(/,e:/\)/,k:e,c:["self",f,d,a.CBCM,{b:":"}],i:/["']/}],i:/\[|%/},{cN:"class",k:"struct protocol class extension enum",b:"(struct|protocol|class(?! (func|var))|extension|enum)",e:"\\{",eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/})]},{cN:"preprocessor",b:"(@assignment|@class_protocol|@exported|@final|@lazy|@noreturn|@NSCopying|@NSManaged|@objc|@optional|@required|@auto_closure|@noreturn|@IBAction|@IBDesignable|@IBInspectable|@IBOutlet|@infix|@prefix|@postfix)"},]}});hljs.registerLanguage("scheme",function(k){var m="[^\\(\\)\\[\\]\\{\\}\",'`;#|\\\\\\s]+";var d="(\\-|\\+)?\\d+([./]\\d+)?";var h=d+"[+\\-]"+d+"i";var e={built_in:"case-lambda call/cc class define-class exit-handler field import inherit init-field interface let*-values let-values let/ec mixin opt-lambda override protect provide public rename require require-for-syntax syntax syntax-case syntax-error unit/sig unless when with-syntax and begin call-with-current-continuation call-with-input-file call-with-output-file case cond define define-syntax delay do dynamic-wind else for-each if lambda let let* let-syntax letrec letrec-syntax map or syntax-rules ' * + , ,@ - ... / ; < <= = => > >= ` abs acos angle append apply asin assoc assq assv atan boolean? caar cadr call-with-input-file call-with-output-file call-with-values car cdddar cddddr cdr ceiling char->integer char-alphabetic? char-ci<=? char-ci=? char-ci>? char-downcase char-lower-case? char-numeric? char-ready? char-upcase char-upper-case? char-whitespace? char<=? char=? char>? char? close-input-port close-output-port complex? cons cos current-input-port current-output-port denominator display eof-object? eq? equal? eqv? eval even? exact->inexact exact? exp expt floor force gcd imag-part inexact->exact inexact? input-port? integer->char integer? interaction-environment lcm length list list->string list->vector list-ref list-tail list? load log magnitude make-polar make-rectangular make-string make-vector max member memq memv min modulo negative? newline not null-environment null? number->string number? numerator odd? open-input-file open-output-file output-port? pair? peek-char port? positive? procedure? quasiquote quote quotient rational? rationalize read read-char real-part real? remainder reverse round scheme-report-environment set! set-car! set-cdr! sin sqrt string string->list string->number string->symbol string-append string-ci<=? string-ci=? string-ci>? string-copy string-fill! string-length string-ref string-set! string<=? string=? string>? string? substring symbol->string symbol? tan transcript-off transcript-on truncate values vector vector->list vector-fill! vector-length vector-ref vector-set! with-input-from-file with-output-to-file write write-char zero?"};var n={cN:"shebang",b:"^#!",e:"$"};var f={cN:"literal",b:"(#t|#f|#\\\\"+m+"|#\\\\.)"};var g={cN:"number",v:[{b:d,r:0},{b:h,r:0},{b:"#b[0-1]+(/[0-1]+)?"},{b:"#o[0-7]+(/[0-7]+)?"},{b:"#x[0-9a-f]+(/[0-9a-f]+)?"}]};var j=k.QSM;var b={cN:"regexp",b:'#[pr]x"',e:'[^\\\\]"'};var o={cN:"comment",v:[{b:";",e:"$",r:0},{b:"#\\|",e:"\\|#"}]};var c={b:m,r:0};var a={cN:"variable",b:"'"+m};var i={eW:true,r:0};var l={cN:"list",v:[{b:"\\(",e:"\\)"},{b:"\\[",e:"\\]"}],c:[{cN:"keyword",b:m,l:m,k:e},i]};i.c=[f,g,j,o,c,a,l];return{i:/\S/,c:[n,g,j,o,a,l]}});hljs.registerLanguage("php",function(b){var e={cN:"variable",b:"(\\$|->)+[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*"};var a={cN:"preprocessor",b:/<\?(php)?|\?>/};var c={cN:"string",c:[b.BE,a],v:[{b:'b"',e:'"'},{b:"b'",e:"'"},b.inherit(b.ASM,{i:null}),b.inherit(b.QSM,{i:null})]};var d={v:[b.BNM,b.CNM]};return{aliases:["php3","php4","php5","php6"],cI:true,k:"and include_once list abstract global private echo interface as static endswitch array null if endwhile or const for endforeach self var while isset public protected exit foreach throw elseif include __FILE__ empty require_once do xor return parent clone use __CLASS__ __LINE__ else break print eval new catch __METHOD__ case exception default die require __FUNCTION__ enddeclare final try switch continue endfor endif declare unset true false trait goto instanceof insteadof __DIR__ __NAMESPACE__ yield finally",c:[b.CLCM,b.HCM,{cN:"comment",b:"/\\*",e:"\\*/",c:[{cN:"phpdoc",b:"\\s@[A-Za-z]+"},a]},{cN:"comment",b:"__halt_compiler.+?;",eW:true,k:"__halt_compiler",l:b.UIR},{cN:"string",b:"<<<['\"]?\\w+['\"]?$",e:"^\\w+;",c:[b.BE]},a,e,{cN:"function",bK:"function",e:/[;{]/,eE:true,i:"\\$|\\[|%",c:[b.UTM,{cN:"params",b:"\\(",e:"\\)",c:["self",e,b.CBCM,c,d]}]},{cN:"class",bK:"class interface",e:"{",eE:true,i:/[:\(\$"]/,c:[{bK:"extends implements"},b.UTM]},{bK:"namespace",e:";",i:/[\.']/,c:[b.UTM]},{bK:"use",e:";",c:[b.UTM]},{b:"=>"},c,d]}});hljs.registerLanguage("haskell",function(f){var g={cN:"comment",v:[{b:"--",e:"$"},{b:"{-",e:"-}",c:["self"]}]};var e={cN:"pragma",b:"{-#",e:"#-}"};var b={cN:"preprocessor",b:"^#",e:"$"};var d={cN:"type",b:"\\b[A-Z][\\w']*",r:0};var c={cN:"container",b:"\\(",e:"\\)",i:'"',c:[e,g,b,{cN:"type",b:"\\b[A-Z][\\w]*(\\((\\.\\.|,|\\w+)\\))?"},f.inherit(f.TM,{b:"[_a-z][\\w']*"})]};var a={cN:"container",b:"{",e:"}",c:c.c};return{aliases:["hs"],k:"let in if then else case of where do module import hiding qualified type data newtype deriving class instance as default infix infixl infixr foreign export ccall stdcall cplusplus jvm dotnet safe unsafe family forall mdo proc rec",c:[{cN:"module",b:"\\bmodule\\b",e:"where",k:"module where",c:[c,g],i:"\\W\\.|;"},{cN:"import",b:"\\bimport\\b",e:"$",k:"import|0 qualified as hiding",c:[c,g],i:"\\W\\.|;"},{cN:"class",b:"^(\\s*)?(class|instance)\\b",e:"where",k:"class family instance where",c:[d,c,g]},{cN:"typedef",b:"\\b(data|(new)?type)\\b",e:"$",k:"data family type newtype deriving",c:[e,g,d,c,a]},{cN:"default",bK:"default",e:"$",c:[d,c,g]},{cN:"infix",bK:"infix infixl infixr",e:"$",c:[f.CNM,g]},{cN:"foreign",b:"\\bforeign\\b",e:"$",k:"foreign import export ccall stdcall cplusplus jvm dotnet safe unsafe",c:[d,f.QSM,g]},{cN:"shebang",b:"#!\\/usr\\/bin\\/env runhaskell",e:"$"},e,g,b,f.QSM,f.CNM,d,f.inherit(f.TM,{b:"^[_a-z][\\w']*"}),{b:"->|<-"}]}});hljs.registerLanguage("1c",function(b){var f="[a-zA-Zа-яА-Я][a-zA-Z0-9_а-яА-Я]*";var c="возврат дата для если и или иначе иначеесли исключение конецесли конецпопытки конецпроцедуры конецфункции конеццикла константа не перейти перем перечисление по пока попытка прервать продолжить процедура строка тогда фс функция цикл число экспорт";var e="ansitooem oemtoansi ввестивидсубконто ввестидату ввестизначение ввестиперечисление ввестипериод ввестиплансчетов ввестистроку ввестичисло вопрос восстановитьзначение врег выбранныйплансчетов вызватьисключение датагод датамесяц датачисло добавитьмесяц завершитьработусистемы заголовоксистемы записьжурналарегистрации запуститьприложение зафиксироватьтранзакцию значениевстроку значениевстрокувнутр значениевфайл значениеизстроки значениеизстрокивнутр значениеизфайла имякомпьютера имяпользователя каталогвременныхфайлов каталогиб каталогпользователя каталогпрограммы кодсимв командасистемы конгода конецпериодаби конецрассчитанногопериодаби конецстандартногоинтервала конквартала конмесяца коннедели лев лог лог10 макс максимальноеколичествосубконто мин монопольныйрежим названиеинтерфейса названиенабораправ назначитьвид назначитьсчет найти найтипомеченныенаудаление найтиссылки началопериодаби началостандартногоинтервала начатьтранзакцию начгода начквартала начмесяца начнедели номерднягода номерднянедели номернеделигода нрег обработкаожидания окр описаниеошибки основнойжурналрасчетов основнойплансчетов основнойязык открытьформу открытьформумодально отменитьтранзакцию очиститьокносообщений периодстр полноеимяпользователя получитьвремята получитьдатута получитьдокументта получитьзначенияотбора получитьпозициюта получитьпустоезначение получитьта прав праводоступа предупреждение префиксавтонумерации пустаястрока пустоезначение рабочаядаттьпустоезначение рабочаядата разделительстраниц разделительстрок разм разобратьпозициюдокумента рассчитатьрегистрына рассчитатьрегистрыпо сигнал симв символтабуляции создатьобъект сокрл сокрлп сокрп сообщить состояние сохранитьзначение сред статусвозврата стрдлина стрзаменить стрколичествострок стрполучитьстроку стрчисловхождений сформироватьпозициюдокумента счетпокоду текущаядата текущеевремя типзначения типзначениястр удалитьобъекты установитьтана установитьтапо фиксшаблон формат цел шаблон";var a={cN:"dquote",b:'""'};var d={cN:"string",b:'"',e:'"|$',c:[a]};var g={cN:"string",b:"\\|",e:'"|$',c:[a]};return{cI:true,l:f,k:{keyword:c,built_in:e},c:[b.CLCM,b.NM,d,g,{cN:"function",b:"(процедура|функция)",e:"$",l:f,k:"процедура функция",c:[b.inherit(b.TM,{b:f}),{cN:"tail",eW:true,c:[{cN:"params",b:"\\(",e:"\\)",l:f,k:"знач",c:[d,g]},{cN:"export",b:"экспорт",eW:true,l:f,k:"экспорт",c:[b.CLCM]}]},b.CLCM]},{cN:"preprocessor",b:"#",e:"$"},{cN:"date",b:"'\\d{2}\\.\\d{2}\\.(\\d{2}|\\d{4})'"}]}});hljs.registerLanguage("x86asm",function(a){return{cI:true,l:"\\.?"+a.IR,k:{keyword:"lock rep repe repz repne repnz xaquire xrelease bnd nobnd aaa aad aam aas adc add and arpl bb0_reset bb1_reset bound bsf bsr bswap bt btc btr bts call cbw cdq cdqe clc cld cli clts cmc cmp cmpsb cmpsd cmpsq cmpsw cmpxchg cmpxchg486 cmpxchg8b cmpxchg16b cpuid cpu_read cpu_write cqo cwd cwde daa das dec div dmint emms enter equ f2xm1 fabs fadd faddp fbld fbstp fchs fclex fcmovb fcmovbe fcmove fcmovnb fcmovnbe fcmovne fcmovnu fcmovu fcom fcomi fcomip fcomp fcompp fcos fdecstp fdisi fdiv fdivp fdivr fdivrp femms feni ffree ffreep fiadd ficom ficomp fidiv fidivr fild fimul fincstp finit fist fistp fisttp fisub fisubr fld fld1 fldcw fldenv fldl2e fldl2t fldlg2 fldln2 fldpi fldz fmul fmulp fnclex fndisi fneni fninit fnop fnsave fnstcw fnstenv fnstsw fpatan fprem fprem1 fptan frndint frstor fsave fscale fsetpm fsin fsincos fsqrt fst fstcw fstenv fstp fstsw fsub fsubp fsubr fsubrp ftst fucom fucomi fucomip fucomp fucompp fxam fxch fxtract fyl2x fyl2xp1 hlt ibts icebp idiv imul in inc incbin insb insd insw int int01 int1 int03 int3 into invd invpcid invlpg invlpga iret iretd iretq iretw jcxz jecxz jrcxz jmp jmpe lahf lar lds lea leave les lfence lfs lgdt lgs lidt lldt lmsw loadall loadall286 lodsb lodsd lodsq lodsw loop loope loopne loopnz loopz lsl lss ltr mfence monitor mov movd movq movsb movsd movsq movsw movsx movsxd movzx mul mwait neg nop not or out outsb outsd outsw packssdw packsswb packuswb paddb paddd paddsb paddsiw paddsw paddusb paddusw paddw pand pandn pause paveb pavgusb pcmpeqb pcmpeqd pcmpeqw pcmpgtb pcmpgtd pcmpgtw pdistib pf2id pfacc pfadd pfcmpeq pfcmpge pfcmpgt pfmax pfmin pfmul pfrcp pfrcpit1 pfrcpit2 pfrsqit1 pfrsqrt pfsub pfsubr pi2fd pmachriw pmaddwd pmagw pmulhriw pmulhrwa pmulhrwc pmulhw pmullw pmvgezb pmvlzb pmvnzb pmvzb pop popa popad popaw popf popfd popfq popfw por prefetch prefetchw pslld psllq psllw psrad psraw psrld psrlq psrlw psubb psubd psubsb psubsiw psubsw psubusb psubusw psubw punpckhbw punpckhdq punpckhwd punpcklbw punpckldq punpcklwd push pusha pushad pushaw pushf pushfd pushfq pushfw pxor rcl rcr rdshr rdmsr rdpmc rdtsc rdtscp ret retf retn rol ror rdm rsdc rsldt rsm rsts sahf sal salc sar sbb scasb scasd scasq scasw sfence sgdt shl shld shr shrd sidt sldt skinit smi smint smintold smsw stc std sti stosb stosd stosq stosw str sub svdc svldt svts swapgs syscall sysenter sysexit sysret test ud0 ud1 ud2b ud2 ud2a umov verr verw fwait wbinvd wrshr wrmsr xadd xbts xchg xlatb xlat xor cmove cmovz cmovne cmovnz cmova cmovnbe cmovae cmovnb cmovb cmovnae cmovbe cmovna cmovg cmovnle cmovge cmovnl cmovl cmovnge cmovle cmovng cmovc cmovnc cmovo cmovno cmovs cmovns cmovp cmovpe cmovnp cmovpo je jz jne jnz ja jnbe jae jnb jb jnae jbe jna jg jnle jge jnl jl jnge jle jng jc jnc jo jno js jns jpo jnp jpe jp sete setz setne setnz seta setnbe setae setnb setnc setb setnae setcset setbe setna setg setnle setge setnl setl setnge setle setng sets setns seto setno setpe setp setpo setnp addps addss andnps andps cmpeqps cmpeqss cmpleps cmpless cmpltps cmpltss cmpneqps cmpneqss cmpnleps cmpnless cmpnltps cmpnltss cmpordps cmpordss cmpunordps cmpunordss cmpps cmpss comiss cvtpi2ps cvtps2pi cvtsi2ss cvtss2si cvttps2pi cvttss2si divps divss ldmxcsr maxps maxss minps minss movaps movhps movlhps movlps movhlps movmskps movntps movss movups mulps mulss orps rcpps rcpss rsqrtps rsqrtss shufps sqrtps sqrtss stmxcsr subps subss ucomiss unpckhps unpcklps xorps fxrstor fxrstor64 fxsave fxsave64 xgetbv xsetbv xsave xsave64 xsaveopt xsaveopt64 xrstor xrstor64 prefetchnta prefetcht0 prefetcht1 prefetcht2 maskmovq movntq pavgb pavgw pextrw pinsrw pmaxsw pmaxub pminsw pminub pmovmskb pmulhuw psadbw pshufw pf2iw pfnacc pfpnacc pi2fw pswapd maskmovdqu clflush movntdq movnti movntpd movdqa movdqu movdq2q movq2dq paddq pmuludq pshufd pshufhw pshuflw pslldq psrldq psubq punpckhqdq punpcklqdq addpd addsd andnpd andpd cmpeqpd cmpeqsd cmplepd cmplesd cmpltpd cmpltsd cmpneqpd cmpneqsd cmpnlepd cmpnlesd cmpnltpd cmpnltsd cmpordpd cmpordsd cmpunordpd cmpunordsd cmppd comisd cvtdq2pd cvtdq2ps cvtpd2dq cvtpd2pi cvtpd2ps cvtpi2pd cvtps2dq cvtps2pd cvtsd2si cvtsd2ss cvtsi2sd cvtss2sd cvttpd2pi cvttpd2dq cvttps2dq cvttsd2si divpd divsd maxpd maxsd minpd minsd movapd movhpd movlpd movmskpd movupd mulpd mulsd orpd shufpd sqrtpd sqrtsd subpd subsd ucomisd unpckhpd unpcklpd xorpd addsubpd addsubps haddpd haddps hsubpd hsubps lddqu movddup movshdup movsldup clgi stgi vmcall vmclear vmfunc vmlaunch vmload vmmcall vmptrld vmptrst vmread vmresume vmrun vmsave vmwrite vmxoff vmxon invept invvpid pabsb pabsw pabsd palignr phaddw phaddd phaddsw phsubw phsubd phsubsw pmaddubsw pmulhrsw pshufb psignb psignw psignd extrq insertq movntsd movntss lzcnt blendpd blendps blendvpd blendvps dppd dpps extractps insertps movntdqa mpsadbw packusdw pblendvb pblendw pcmpeqq pextrb pextrd pextrq phminposuw pinsrb pinsrd pinsrq pmaxsb pmaxsd pmaxud pmaxuw pminsb pminsd pminud pminuw pmovsxbw pmovsxbd pmovsxbq pmovsxwd pmovsxwq pmovsxdq pmovzxbw pmovzxbd pmovzxbq pmovzxwd pmovzxwq pmovzxdq pmuldq pmulld ptest roundpd roundps roundsd roundss crc32 pcmpestri pcmpestrm pcmpistri pcmpistrm pcmpgtq popcnt getsec pfrcpv pfrsqrtv movbe aesenc aesenclast aesdec aesdeclast aesimc aeskeygenassist vaesenc vaesenclast vaesdec vaesdeclast vaesimc vaeskeygenassist vaddpd vaddps vaddsd vaddss vaddsubpd vaddsubps vandpd vandps vandnpd vandnps vblendpd vblendps vblendvpd vblendvps vbroadcastss vbroadcastsd vbroadcastf128 vcmpeq_ospd vcmpeqpd vcmplt_ospd vcmpltpd vcmple_ospd vcmplepd vcmpunord_qpd vcmpunordpd vcmpneq_uqpd vcmpneqpd vcmpnlt_uspd vcmpnltpd vcmpnle_uspd vcmpnlepd vcmpord_qpd vcmpordpd vcmpeq_uqpd vcmpnge_uspd vcmpngepd vcmpngt_uspd vcmpngtpd vcmpfalse_oqpd vcmpfalsepd vcmpneq_oqpd vcmpge_ospd vcmpgepd vcmpgt_ospd vcmpgtpd vcmptrue_uqpd vcmptruepd vcmplt_oqpd vcmple_oqpd vcmpunord_spd vcmpneq_uspd vcmpnlt_uqpd vcmpnle_uqpd vcmpord_spd vcmpeq_uspd vcmpnge_uqpd vcmpngt_uqpd vcmpfalse_ospd vcmpneq_ospd vcmpge_oqpd vcmpgt_oqpd vcmptrue_uspd vcmppd vcmpeq_osps vcmpeqps vcmplt_osps vcmpltps vcmple_osps vcmpleps vcmpunord_qps vcmpunordps vcmpneq_uqps vcmpneqps vcmpnlt_usps vcmpnltps vcmpnle_usps vcmpnleps vcmpord_qps vcmpordps vcmpeq_uqps vcmpnge_usps vcmpngeps vcmpngt_usps vcmpngtps vcmpfalse_oqps vcmpfalseps vcmpneq_oqps vcmpge_osps vcmpgeps vcmpgt_osps vcmpgtps vcmptrue_uqps vcmptrueps vcmplt_oqps vcmple_oqps vcmpunord_sps vcmpneq_usps vcmpnlt_uqps vcmpnle_uqps vcmpord_sps vcmpeq_usps vcmpnge_uqps vcmpngt_uqps vcmpfalse_osps vcmpneq_osps vcmpge_oqps vcmpgt_oqps vcmptrue_usps vcmpps vcmpeq_ossd vcmpeqsd vcmplt_ossd vcmpltsd vcmple_ossd vcmplesd vcmpunord_qsd vcmpunordsd vcmpneq_uqsd vcmpneqsd vcmpnlt_ussd vcmpnltsd vcmpnle_ussd vcmpnlesd vcmpord_qsd vcmpordsd vcmpeq_uqsd vcmpnge_ussd vcmpngesd vcmpngt_ussd vcmpngtsd vcmpfalse_oqsd vcmpfalsesd vcmpneq_oqsd vcmpge_ossd vcmpgesd vcmpgt_ossd vcmpgtsd vcmptrue_uqsd vcmptruesd vcmplt_oqsd vcmple_oqsd vcmpunord_ssd vcmpneq_ussd vcmpnlt_uqsd vcmpnle_uqsd vcmpord_ssd vcmpeq_ussd vcmpnge_uqsd vcmpngt_uqsd vcmpfalse_ossd vcmpneq_ossd vcmpge_oqsd vcmpgt_oqsd vcmptrue_ussd vcmpsd vcmpeq_osss vcmpeqss vcmplt_osss vcmpltss vcmple_osss vcmpless vcmpunord_qss vcmpunordss vcmpneq_uqss vcmpneqss vcmpnlt_usss vcmpnltss vcmpnle_usss vcmpnless vcmpord_qss vcmpordss vcmpeq_uqss vcmpnge_usss vcmpngess vcmpngt_usss vcmpngtss vcmpfalse_oqss vcmpfalsess vcmpneq_oqss vcmpge_osss vcmpgess vcmpgt_osss vcmpgtss vcmptrue_uqss vcmptruess vcmplt_oqss vcmple_oqss vcmpunord_sss vcmpneq_usss vcmpnlt_uqss vcmpnle_uqss vcmpord_sss vcmpeq_usss vcmpnge_uqss vcmpngt_uqss vcmpfalse_osss vcmpneq_osss vcmpge_oqss vcmpgt_oqss vcmptrue_usss vcmpss vcomisd vcomiss vcvtdq2pd vcvtdq2ps vcvtpd2dq vcvtpd2ps vcvtps2dq vcvtps2pd vcvtsd2si vcvtsd2ss vcvtsi2sd vcvtsi2ss vcvtss2sd vcvtss2si vcvttpd2dq vcvttps2dq vcvttsd2si vcvttss2si vdivpd vdivps vdivsd vdivss vdppd vdpps vextractf128 vextractps vhaddpd vhaddps vhsubpd vhsubps vinsertf128 vinsertps vlddqu vldqqu vldmxcsr vmaskmovdqu vmaskmovps vmaskmovpd vmaxpd vmaxps vmaxsd vmaxss vminpd vminps vminsd vminss vmovapd vmovaps vmovd vmovq vmovddup vmovdqa vmovqqa vmovdqu vmovqqu vmovhlps vmovhpd vmovhps vmovlhps vmovlpd vmovlps vmovmskpd vmovmskps vmovntdq vmovntqq vmovntdqa vmovntpd vmovntps vmovsd vmovshdup vmovsldup vmovss vmovupd vmovups vmpsadbw vmulpd vmulps vmulsd vmulss vorpd vorps vpabsb vpabsw vpabsd vpacksswb vpackssdw vpackuswb vpackusdw vpaddb vpaddw vpaddd vpaddq vpaddsb vpaddsw vpaddusb vpaddusw vpalignr vpand vpandn vpavgb vpavgw vpblendvb vpblendw vpcmpestri vpcmpestrm vpcmpistri vpcmpistrm vpcmpeqb vpcmpeqw vpcmpeqd vpcmpeqq vpcmpgtb vpcmpgtw vpcmpgtd vpcmpgtq vpermilpd vpermilps vperm2f128 vpextrb vpextrw vpextrd vpextrq vphaddw vphaddd vphaddsw vphminposuw vphsubw vphsubd vphsubsw vpinsrb vpinsrw vpinsrd vpinsrq vpmaddwd vpmaddubsw vpmaxsb vpmaxsw vpmaxsd vpmaxub vpmaxuw vpmaxud vpminsb vpminsw vpminsd vpminub vpminuw vpminud vpmovmskb vpmovsxbw vpmovsxbd vpmovsxbq vpmovsxwd vpmovsxwq vpmovsxdq vpmovzxbw vpmovzxbd vpmovzxbq vpmovzxwd vpmovzxwq vpmovzxdq vpmulhuw vpmulhrsw vpmulhw vpmullw vpmulld vpmuludq vpmuldq vpor vpsadbw vpshufb vpshufd vpshufhw vpshuflw vpsignb vpsignw vpsignd vpslldq vpsrldq vpsllw vpslld vpsllq vpsraw vpsrad vpsrlw vpsrld vpsrlq vptest vpsubb vpsubw vpsubd vpsubq vpsubsb vpsubsw vpsubusb vpsubusw vpunpckhbw vpunpckhwd vpunpckhdq vpunpckhqdq vpunpcklbw vpunpcklwd vpunpckldq vpunpcklqdq vpxor vrcpps vrcpss vrsqrtps vrsqrtss vroundpd vroundps vroundsd vroundss vshufpd vshufps vsqrtpd vsqrtps vsqrtsd vsqrtss vstmxcsr vsubpd vsubps vsubsd vsubss vtestps vtestpd vucomisd vucomiss vunpckhpd vunpckhps vunpcklpd vunpcklps vxorpd vxorps vzeroall vzeroupper pclmullqlqdq pclmulhqlqdq pclmullqhqdq pclmulhqhqdq pclmulqdq vpclmullqlqdq vpclmulhqlqdq vpclmullqhqdq vpclmulhqhqdq vpclmulqdq vfmadd132ps vfmadd132pd vfmadd312ps vfmadd312pd vfmadd213ps vfmadd213pd vfmadd123ps vfmadd123pd vfmadd231ps vfmadd231pd vfmadd321ps vfmadd321pd vfmaddsub132ps vfmaddsub132pd vfmaddsub312ps vfmaddsub312pd vfmaddsub213ps vfmaddsub213pd vfmaddsub123ps vfmaddsub123pd vfmaddsub231ps vfmaddsub231pd vfmaddsub321ps vfmaddsub321pd vfmsub132ps vfmsub132pd vfmsub312ps vfmsub312pd vfmsub213ps vfmsub213pd vfmsub123ps vfmsub123pd vfmsub231ps vfmsub231pd vfmsub321ps vfmsub321pd vfmsubadd132ps vfmsubadd132pd vfmsubadd312ps vfmsubadd312pd vfmsubadd213ps vfmsubadd213pd vfmsubadd123ps vfmsubadd123pd vfmsubadd231ps vfmsubadd231pd vfmsubadd321ps vfmsubadd321pd vfnmadd132ps vfnmadd132pd vfnmadd312ps vfnmadd312pd vfnmadd213ps vfnmadd213pd vfnmadd123ps vfnmadd123pd vfnmadd231ps vfnmadd231pd vfnmadd321ps vfnmadd321pd vfnmsub132ps vfnmsub132pd vfnmsub312ps vfnmsub312pd vfnmsub213ps vfnmsub213pd vfnmsub123ps vfnmsub123pd vfnmsub231ps vfnmsub231pd vfnmsub321ps vfnmsub321pd vfmadd132ss vfmadd132sd vfmadd312ss vfmadd312sd vfmadd213ss vfmadd213sd vfmadd123ss vfmadd123sd vfmadd231ss vfmadd231sd vfmadd321ss vfmadd321sd vfmsub132ss vfmsub132sd vfmsub312ss vfmsub312sd vfmsub213ss vfmsub213sd vfmsub123ss vfmsub123sd vfmsub231ss vfmsub231sd vfmsub321ss vfmsub321sd vfnmadd132ss vfnmadd132sd vfnmadd312ss vfnmadd312sd vfnmadd213ss vfnmadd213sd vfnmadd123ss vfnmadd123sd vfnmadd231ss vfnmadd231sd vfnmadd321ss vfnmadd321sd vfnmsub132ss vfnmsub132sd vfnmsub312ss vfnmsub312sd vfnmsub213ss vfnmsub213sd vfnmsub123ss vfnmsub123sd vfnmsub231ss vfnmsub231sd vfnmsub321ss vfnmsub321sd rdfsbase rdgsbase rdrand wrfsbase wrgsbase vcvtph2ps vcvtps2ph adcx adox rdseed clac stac xstore xcryptecb xcryptcbc xcryptctr xcryptcfb xcryptofb montmul xsha1 xsha256 llwpcb slwpcb lwpval lwpins vfmaddpd vfmaddps vfmaddsd vfmaddss vfmaddsubpd vfmaddsubps vfmsubaddpd vfmsubaddps vfmsubpd vfmsubps vfmsubsd vfmsubss vfnmaddpd vfnmaddps vfnmaddsd vfnmaddss vfnmsubpd vfnmsubps vfnmsubsd vfnmsubss vfrczpd vfrczps vfrczsd vfrczss vpcmov vpcomb vpcomd vpcomq vpcomub vpcomud vpcomuq vpcomuw vpcomw vphaddbd vphaddbq vphaddbw vphadddq vphaddubd vphaddubq vphaddubw vphaddudq vphadduwd vphadduwq vphaddwd vphaddwq vphsubbw vphsubdq vphsubwd vpmacsdd vpmacsdqh vpmacsdql vpmacssdd vpmacssdqh vpmacssdql vpmacsswd vpmacssww vpmacswd vpmacsww vpmadcsswd vpmadcswd vpperm vprotb vprotd vprotq vprotw vpshab vpshad vpshaq vpshaw vpshlb vpshld vpshlq vpshlw vbroadcasti128 vpblendd vpbroadcastb vpbroadcastw vpbroadcastd vpbroadcastq vpermd vpermpd vpermps vpermq vperm2i128 vextracti128 vinserti128 vpmaskmovd vpmaskmovq vpsllvd vpsllvq vpsravd vpsrlvd vpsrlvq vgatherdpd vgatherqpd vgatherdps vgatherqps vpgatherdd vpgatherqd vpgatherdq vpgatherqq xabort xbegin xend xtest andn bextr blci blcic blsi blsic blcfill blsfill blcmsk blsmsk blsr blcs bzhi mulx pdep pext rorx sarx shlx shrx tzcnt tzmsk t1mskc valignd valignq vblendmpd vblendmps vbroadcastf32x4 vbroadcastf64x4 vbroadcasti32x4 vbroadcasti64x4 vcompresspd vcompressps vcvtpd2udq vcvtps2udq vcvtsd2usi vcvtss2usi vcvttpd2udq vcvttps2udq vcvttsd2usi vcvttss2usi vcvtudq2pd vcvtudq2ps vcvtusi2sd vcvtusi2ss vexpandpd vexpandps vextractf32x4 vextractf64x4 vextracti32x4 vextracti64x4 vfixupimmpd vfixupimmps vfixupimmsd vfixupimmss vgetexppd vgetexpps vgetexpsd vgetexpss vgetmantpd vgetmantps vgetmantsd vgetmantss vinsertf32x4 vinsertf64x4 vinserti32x4 vinserti64x4 vmovdqa32 vmovdqa64 vmovdqu32 vmovdqu64 vpabsq vpandd vpandnd vpandnq vpandq vpblendmd vpblendmq vpcmpltd vpcmpled vpcmpneqd vpcmpnltd vpcmpnled vpcmpd vpcmpltq vpcmpleq vpcmpneqq vpcmpnltq vpcmpnleq vpcmpq vpcmpequd vpcmpltud vpcmpleud vpcmpnequd vpcmpnltud vpcmpnleud vpcmpud vpcmpequq vpcmpltuq vpcmpleuq vpcmpnequq vpcmpnltuq vpcmpnleuq vpcmpuq vpcompressd vpcompressq vpermi2d vpermi2pd vpermi2ps vpermi2q vpermt2d vpermt2pd vpermt2ps vpermt2q vpexpandd vpexpandq vpmaxsq vpmaxuq vpminsq vpminuq vpmovdb vpmovdw vpmovqb vpmovqd vpmovqw vpmovsdb vpmovsdw vpmovsqb vpmovsqd vpmovsqw vpmovusdb vpmovusdw vpmovusqb vpmovusqd vpmovusqw vpord vporq vprold vprolq vprolvd vprolvq vprord vprorq vprorvd vprorvq vpscatterdd vpscatterdq vpscatterqd vpscatterqq vpsraq vpsravq vpternlogd vpternlogq vptestmd vptestmq vptestnmd vptestnmq vpxord vpxorq vrcp14pd vrcp14ps vrcp14sd vrcp14ss vrndscalepd vrndscaleps vrndscalesd vrndscaless vrsqrt14pd vrsqrt14ps vrsqrt14sd vrsqrt14ss vscalefpd vscalefps vscalefsd vscalefss vscatterdpd vscatterdps vscatterqpd vscatterqps vshuff32x4 vshuff64x2 vshufi32x4 vshufi64x2 kandnw kandw kmovw knotw kortestw korw kshiftlw kshiftrw kunpckbw kxnorw kxorw vpbroadcastmb2q vpbroadcastmw2d vpconflictd vpconflictq vplzcntd vplzcntq vexp2pd vexp2ps vrcp28pd vrcp28ps vrcp28sd vrcp28ss vrsqrt28pd vrsqrt28ps vrsqrt28sd vrsqrt28ss vgatherpf0dpd vgatherpf0dps vgatherpf0qpd vgatherpf0qps vgatherpf1dpd vgatherpf1dps vgatherpf1qpd vgatherpf1qps vscatterpf0dpd vscatterpf0dps vscatterpf0qpd vscatterpf0qps vscatterpf1dpd vscatterpf1dps vscatterpf1qpd vscatterpf1qps prefetchwt1 bndmk bndcl bndcu bndcn bndmov bndldx bndstx sha1rnds4 sha1nexte sha1msg1 sha1msg2 sha256rnds2 sha256msg1 sha256msg2 hint_nop0 hint_nop1 hint_nop2 hint_nop3 hint_nop4 hint_nop5 hint_nop6 hint_nop7 hint_nop8 hint_nop9 hint_nop10 hint_nop11 hint_nop12 hint_nop13 hint_nop14 hint_nop15 hint_nop16 hint_nop17 hint_nop18 hint_nop19 hint_nop20 hint_nop21 hint_nop22 hint_nop23 hint_nop24 hint_nop25 hint_nop26 hint_nop27 hint_nop28 hint_nop29 hint_nop30 hint_nop31 hint_nop32 hint_nop33 hint_nop34 hint_nop35 hint_nop36 hint_nop37 hint_nop38 hint_nop39 hint_nop40 hint_nop41 hint_nop42 hint_nop43 hint_nop44 hint_nop45 hint_nop46 hint_nop47 hint_nop48 hint_nop49 hint_nop50 hint_nop51 hint_nop52 hint_nop53 hint_nop54 hint_nop55 hint_nop56 hint_nop57 hint_nop58 hint_nop59 hint_nop60 hint_nop61 hint_nop62 hint_nop63",literal:"ip eip rip al ah bl bh cl ch dl dh sil dil bpl spl r8b r9b r10b r11b r12b r13b r14b r15b ax bx cx dx si di bp sp r8w r9w r10w r11w r12w r13w r14w r15w eax ebx ecx edx esi edi ebp esp eip r8d r9d r10d r11d r12d r13d r14d r15d rax rbx rcx rdx rsi rdi rbp rsp r8 r9 r10 r11 r12 r13 r14 r15 cs ds es fs gs ss st st0 st1 st2 st3 st4 st5 st6 st7 mm0 mm1 mm2 mm3 mm4 mm5 mm6 mm7 xmm0 xmm1 xmm2 xmm3 xmm4 xmm5 xmm6 xmm7 xmm8 xmm9 xmm10 xmm11 xmm12 xmm13 xmm14 xmm15 xmm16 xmm17 xmm18 xmm19 xmm20 xmm21 xmm22 xmm23 xmm24 xmm25 xmm26 xmm27 xmm28 xmm29 xmm30 xmm31 ymm0 ymm1 ymm2 ymm3 ymm4 ymm5 ymm6 ymm7 ymm8 ymm9 ymm10 ymm11 ymm12 ymm13 ymm14 ymm15 ymm16 ymm17 ymm18 ymm19 ymm20 ymm21 ymm22 ymm23 ymm24 ymm25 ymm26 ymm27 ymm28 ymm29 ymm30 ymm31 zmm0 zmm1 zmm2 zmm3 zmm4 zmm5 zmm6 zmm7 zmm8 zmm9 zmm10 zmm11 zmm12 zmm13 zmm14 zmm15 zmm16 zmm17 zmm18 zmm19 zmm20 zmm21 zmm22 zmm23 zmm24 zmm25 zmm26 zmm27 zmm28 zmm29 zmm30 zmm31 k0 k1 k2 k3 k4 k5 k6 k7 bnd0 bnd1 bnd2 bnd3 cr0 cr1 cr2 cr3 cr4 cr8 dr0 dr1 dr2 dr3 dr8 tr3 tr4 tr5 tr6 tr7 r0 r1 r2 r3 r4 r5 r6 r7 r0b r1b r2b r3b r4b r5b r6b r7b r0w r1w r2w r3w r4w r5w r6w r7w r0d r1d r2d r3d r4d r5d r6d r7d r0h r1h r2h r3h r0l r1l r2l r3l r4l r5l r6l r7l r8l r9l r10l r11l r12l r13l r14l r15l",pseudo:"db dw dd dq dt ddq do dy dz resb resw resd resq rest resdq reso resy resz incbin equ times",preprocessor:"%define %xdefine %+ %undef %defstr %deftok %assign %strcat %strlen %substr %rotate %elif %else %endif %ifmacro %ifctx %ifidn %ifidni %ifid %ifnum %ifstr %iftoken %ifempty %ifenv %error %warning %fatal %rep %endrep %include %push %pop %repl %pathsearch %depend %use %arg %stacksize %local %line %comment %endcomment .nolist byte word dword qword nosplit rel abs seg wrt strict near far a32 ptr __FILE__ __LINE__ __SECT__ __BITS__ __OUTPUT_FORMAT__ __DATE__ __TIME__ __DATE_NUM__ __TIME_NUM__ __UTC_DATE__ __UTC_TIME__ __UTC_DATE_NUM__ __UTC_TIME_NUM__ __PASS__ struc endstruc istruc at iend align alignb sectalign daz nodaz up down zero default option assume public ",built_in:"bits use16 use32 use64 default section segment absolute extern global common cpu float __utf16__ __utf16le__ __utf16be__ __utf32__ __utf32le__ __utf32be__ __float8__ __float16__ __float32__ __float64__ __float80m__ __float80e__ __float128l__ __float128h__ __Infinity__ __QNaN__ __SNaN__ Inf NaN QNaN SNaN float8 float16 float32 float64 float80m float80e float128l float128h __FLOAT_DAZ__ __FLOAT_ROUND__ __FLOAT__"},c:[{cN:"comment",b:";",e:"$",r:0},{cN:"number",b:"\\b(?:([0-9][0-9_]*)?\\.[0-9_]*(?:[eE][+-]?[0-9_]+)?|(0[Xx])?[0-9][0-9_]*\\.?[0-9_]*(?:[pP](?:[+-]?[0-9_]+)?)?)\\b",r:0},{cN:"number",b:"\\$[0-9][0-9A-Fa-f]*",r:0},{cN:"number",b:"\\b(?:[0-9A-Fa-f][0-9A-Fa-f_]*[HhXx]|[0-9][0-9_]*[DdTt]?|[0-7][0-7_]*[QqOo]|[0-1][0-1_]*[BbYy])\\b"},{cN:"number",b:"\\b(?:0[HhXx][0-9A-Fa-f_]+|0[DdTt][0-9_]+|0[QqOo][0-7_]+|0[BbYy][0-1_]+)\\b"},a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",r:0},{cN:"string",b:"`",e:"[^\\\\]`",r:0},{cN:"string",b:"\\.[A-Za-z0-9]+",r:0},{cN:"label",b:"^\\s*[A-Za-z._?][A-Za-z0-9_$#@~.?]*(:|\\s+label)",r:0},{cN:"label",b:"^\\s*%%[A-Za-z0-9_$#@~.?]*:",r:0},{cN:"argument",b:"%[0-9]+",r:0},{cN:"built_in",b:"%!S+",r:0}]}});hljs.registerLanguage("python",function(a){var f={cN:"prompt",b:/^(>>>|\.\.\.) /};var b={cN:"string",c:[a.BE],v:[{b:/(u|b)?r?'''/,e:/'''/,c:[f],r:10},{b:/(u|b)?r?"""/,e:/"""/,c:[f],r:10},{b:/(u|r|ur)'/,e:/'/,r:10},{b:/(u|r|ur)"/,e:/"/,r:10},{b:/(b|br)'/,e:/'/},{b:/(b|br)"/,e:/"/},a.ASM,a.QSM]};var d={cN:"number",r:0,v:[{b:a.BNR+"[lLjJ]?"},{b:"\\b(0o[0-7]+)[lLjJ]?"},{b:a.CNR+"[lLjJ]?"}]};var e={cN:"params",b:/\(/,e:/\)/,c:["self",f,d,b]};var c={e:/:/,i:/[${=;\n]/,c:[a.UTM,e]};return{aliases:["py","gyp"],k:{keyword:"and elif is global as in if from raise for except finally print import pass return exec else break not with class assert yield try while continue del or def lambda nonlocal|10 None True False",built_in:"Ellipsis NotImplemented"},i:/(<\/|->|\?)/,c:[f,d,b,a.HCM,a.inherit(c,{cN:"function",bK:"def",r:10}),a.inherit(c,{cN:"class",bK:"class"}),{cN:"decorator",b:/@/,e:/$/},{b:/\b(print|exec)\(/}]}});hljs.registerLanguage("smalltalk",function(a){var b="[a-z][a-zA-Z0-9_]*";var d={cN:"char",b:"\\$.{1}"};var c={cN:"symbol",b:"#"+a.UIR};return{aliases:["st"],k:"self super nil true false thisContext",c:[{cN:"comment",b:'"',e:'"'},a.ASM,{cN:"class",b:"\\b[A-Z][A-Za-z0-9_]*",r:0},{cN:"method",b:b+":",r:0},a.CNM,c,d,{cN:"localvars",b:"\\|[ ]*"+b+"([ ]+"+b+")*[ ]*\\|",rB:true,e:/\|/,i:/\S/,c:[{b:"(\\|[ ]*)?"+b}]},{cN:"array",b:"\\#\\(",e:"\\)",c:[a.ASM,d,a.CNM,c]}]}});hljs.registerLanguage("tex",function(a){var d={cN:"command",b:"\\\\[a-zA-Zа-яА-я]+[\\*]?"};var c={cN:"command",b:"\\\\[^a-zA-Zа-яА-я0-9]"};var b={cN:"special",b:"[{}\\[\\]\\&#~]",r:0};return{c:[{b:"\\\\[a-zA-Zа-яА-я]+[\\*]? *= *-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",rB:true,c:[d,c,{cN:"number",b:" *=",e:"-?\\d*\\.?\\d+(pt|pc|mm|cm|in|dd|cc|ex|em)?",eB:true}],r:10},d,c,b,{cN:"formula",b:"\\$\\$",e:"\\$\\$",c:[d,c,b],r:0},{cN:"formula",b:"\\$",e:"\\$",c:[d,c,b],r:0},{cN:"comment",b:"%",e:"$",r:0}]}});hljs.registerLanguage("actionscript",function(a){var c="[a-zA-Z_$][a-zA-Z0-9_$]*";var b="([*]|[a-zA-Z_$][a-zA-Z0-9_$]*)";var d={cN:"rest_arg",b:"[.]{3}",e:c,r:10};return{aliases:["as"],k:{keyword:"as break case catch class const continue default delete do dynamic each else extends final finally for function get if implements import in include instanceof interface internal is namespace native new override package private protected public return set static super switch this throw try typeof use var void while with",literal:"true false null undefined"},c:[a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{cN:"package",bK:"package",e:"{",c:[a.TM]},{cN:"class",bK:"class interface",e:"{",eE:true,c:[{bK:"extends implements"},a.TM]},{cN:"preprocessor",bK:"import include",e:";"},{cN:"function",bK:"function",e:"[{;]",eE:true,i:"\\S",c:[a.TM,{cN:"params",b:"\\(",e:"\\)",c:[a.ASM,a.QSM,a.CLCM,a.CBCM,d]},{cN:"type",b:":",e:b,r:10}]}]}});hljs.registerLanguage("sql",function(a){var b={cN:"comment",b:"--",e:"$"};return{cI:true,i:/[<>]/,c:[{cN:"operator",bK:"begin end start commit rollback savepoint lock alter create drop rename call delete do handler insert load replace select truncate update set show pragma grant merge describe use explain help declare prepare execute deallocate savepoint release unlock purge reset change stop analyze cache flush optimize repair kill install uninstall checksum restore check backup",e:/;/,eW:true,k:{keyword:"abs absolute acos action add adddate addtime aes_decrypt aes_encrypt after aggregate all allocate alter analyze and any are as asc ascii asin assertion at atan atan2 atn2 authorization authors avg backup before begin benchmark between bin binlog bit_and bit_count bit_length bit_or bit_xor both by cache call cascade cascaded case cast catalog ceil ceiling chain change changed char_length character_length charindex charset check checksum checksum_agg choose close coalesce coercibility collate collation collationproperty column columns columns_updated commit compress concat concat_ws concurrent connect connection connection_id consistent constraint constraints continue contributors conv convert convert_tz corresponding cos cot count count_big crc32 create cross cume_dist curdate current current_date current_time current_timestamp current_user cursor curtime data database databases datalength date_add date_format date_sub dateadd datediff datefromparts datename datepart datetime2fromparts datetimeoffsetfromparts day dayname dayofmonth dayofweek dayofyear deallocate declare decode default deferrable deferred degrees delayed delete des_decrypt des_encrypt des_key_file desc describe descriptor diagnostics difference disconnect distinct distinctrow div do domain double drop dumpfile each else elt enclosed encode encrypt end end-exec engine engines eomonth errors escape escaped event eventdata events except exception exec execute exists exp explain export_set extended external extract fast fetch field fields find_in_set first first_value floor flush for force foreign format found found_rows from from_base64 from_days from_unixtime full function get get_format get_lock getdate getutcdate global go goto grant grants greatest group group_concat grouping grouping_id gtid_subset gtid_subtract handler having help hex high_priority hosts hour ident_current ident_incr ident_seed identified identity if ifnull ignore iif ilike immediate in index indicator inet6_aton inet6_ntoa inet_aton inet_ntoa infile initially inner innodb input insert install instr intersect into is is_free_lock is_ipv4 is_ipv4_compat is_ipv4_mapped is_not is_not_null is_used_lock isdate isnull isolation join key kill language last last_day last_insert_id last_value lcase lead leading least leaves left len lenght level like limit lines ln load load_file local localtime localtimestamp locate lock log log10 log2 logfile logs low_priority lower lpad ltrim make_set makedate maketime master master_pos_wait match matched max md5 medium merge microsecond mid min minute mod mode module month monthname mutex name_const names national natural nchar next no no_write_to_binlog not now nullif nvarchar oct octet_length of old_password on only open optimize option optionally or ord order outer outfile output pad parse partial partition password patindex percent_rank percentile_cont percentile_disc period_add period_diff pi plugin position pow power pragma precision prepare preserve primary prior privileges procedure procedure_analyze processlist profile profiles public publishingservername purge quarter query quick quote quotename radians rand read references regexp relative relaylog release release_lock rename repair repeat replace replicate reset restore restrict return returns reverse revoke right rlike rollback rollup round row row_count rows rpad rtrim savepoint schema scroll sec_to_time second section select serializable server session session_user set sha sha1 sha2 share show sign sin size slave sleep smalldatetimefromparts snapshot some soname soundex sounds_like space sql sql_big_result sql_buffer_result sql_cache sql_calc_found_rows sql_no_cache sql_small_result sql_variant_property sqlstate sqrt square start starting status std stddev stddev_pop stddev_samp stdev stdevp stop str str_to_date straight_join strcmp string stuff subdate substr substring subtime subtring_index sum switchoffset sysdate sysdatetime sysdatetimeoffset system_user sysutcdatetime table tables tablespace tan temporary terminated tertiary_weights then time time_format time_to_sec timediff timefromparts timestamp timestampadd timestampdiff timezone_hour timezone_minute to to_base64 to_days to_seconds todatetimeoffset trailing transaction translation trigger trigger_nestlevel triggers trim truncate try_cast try_convert try_parse ucase uncompress uncompressed_length unhex unicode uninstall union unique unix_timestamp unknown unlock update upgrade upped upper usage use user user_resources using utc_date utc_time utc_timestamp uuid uuid_short validate_password_strength value values var var_pop var_samp variables variance varp version view warnings week weekday weekofyear weight_string when whenever where with work write xml xor year yearweek zon",literal:"true false null",built_in:"array bigint binary bit blob boolean char character date dec decimal float int integer interval number numeric real serial smallint varchar varying int8 serial8 text"},c:[{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]},{cN:"string",b:'"',e:'"',c:[a.BE,{b:'""'}]},{cN:"string",b:"`",e:"`",c:[a.BE]},a.CNM,a.CBCM,b]},a.CBCM,b]}});hljs.registerLanguage("nix",function(b){var a={keyword:"rec with let in inherit assert if else then",constant:"true false or and null",built_in:"import abort baseNameOf dirOf isNull builtins map removeAttrs throw toString derivation"};var g={cN:"subst",b:/\$\{/,e:/\}/,k:a};var d={cN:"variable",b:/[a-zA-Z0-9-_]+(\s*=)/};var e={cN:"string",b:"''",e:"''",c:[g]};var f={cN:"string",b:'"',e:'"',c:[g]};var c=[b.NM,b.HCM,b.CBCM,e,f,d];g.c=c;return{aliases:["nixos"],k:a,c:c}});hljs.registerLanguage("handlebars",function(b){var a="each in with if else unless bindattr action collection debugger log outlet template unbound view yield";return{aliases:["hbs","html.hbs","html.handlebars"],cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"expression",b:"{{",e:"}}",c:[{cN:"begin-block",b:"#[a-zA-Z- .]+",k:a},{cN:"string",b:'"',e:'"'},{cN:"end-block",b:"\\/[a-zA-Z- .]+",k:a},{cN:"variable",b:"[a-zA-Z-.]+",k:a}]}]}});hljs.registerLanguage("thrift",function(a){var b="bool byte i16 i32 i64 double string binary";return{k:{keyword:"namespace const typedef struct enum service exception void oneway set list map required optional",built_in:b,literal:"true false"},c:[a.QSM,a.NM,a.CLCM,a.CBCM,{cN:"class",bK:"struct enum service exception",e:/\{/,i:/\n/,c:[a.inherit(a.TM,{starts:{eW:true,eE:true}})]},{cN:"stl_container",b:"\\b(set|list|map)\\s*<",e:">",k:b,c:["self"]}]}});hljs.registerLanguage("vala",function(a){return{k:{keyword:"char uchar unichar int uint long ulong short ushort int8 int16 int32 int64 uint8 uint16 uint32 uint64 float double bool struct enum string void weak unowned owned async signal static abstract interface override while do for foreach else switch case break default return try catch public private protected internal using new this get set const stdout stdin stderr var",built_in:"DBus GLib CCode Gee Object",literal:"false true null"},c:[{cN:"class",bK:"class interface delegate namespace",e:"{",eE:true,i:"[^,:\\n\\s\\.]",c:[a.UTM]},a.CLCM,a.CBCM,{cN:"string",b:'"""',e:'"""',r:5},a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"^#",e:"$",r:2},{cN:"constant",b:" [A-Z_]+ ",r:0}]}});hljs.registerLanguage("gradle",function(a){return{cI:true,k:{keyword:"task project allprojects subprojects artifacts buildscript configurations dependencies repositories sourceSets description delete from into include exclude source classpath destinationDir includes options sourceCompatibility targetCompatibility group flatDir doLast doFirst flatten todir fromdir ant def abstract break case catch continue default do else extends final finally for if implements instanceof native new private protected public return static switch synchronized throw throws transient try volatile while strictfp package import false null super this true antlrtask checkstyle codenarc copy boolean byte char class double float int interface long short void compile runTime file fileTree abs any append asList asWritable call collect compareTo count div dump each eachByte eachFile eachLine every find findAll flatten getAt getErr getIn getOut getText grep immutable inject inspect intersect invokeMethods isCase join leftShift minus multiply newInputStream newOutputStream newPrintWriter newReader newWriter next plus pop power previous print println push putAt read readBytes readLines reverse reverseEach round size sort splitEachLine step subMap times toInteger toList tokenize upto waitForOrKill withPrintWriter withReader withStream withWriter withWriterAppend write writeLine"},c:[a.CLCM,a.CBCM,a.ASM,a.QSM,a.NM,a.RM]}});hljs.registerLanguage("ini",function(a){return{cI:true,i:/\S/,c:[{cN:"comment",b:";",e:"$"},{cN:"title",b:"^\\[",e:"\\]"},{cN:"setting",b:"^[a-z0-9\\[\\]_-]+[ \\t]*=[ \\t]*",e:"$",c:[{cN:"value",eW:true,k:"on off true false yes no",c:[a.QSM,a.NM],r:0}]}]}});hljs.registerLanguage("livecodeserver",function(a){var e={cN:"variable",b:"\\b[gtps][A-Z]+[A-Za-z0-9_\\-]*\\b|\\$_[A-Z]+",r:0};var b={cN:"comment",e:"$",v:[a.CBCM,a.HCM,{b:"--"},{b:"[^:]//"}]};var d=a.inherit(a.TM,{v:[{b:"\\b_*rig[A-Z]+[A-Za-z0-9_\\-]*"},{b:"\\b_[a-z0-9\\-]+"}]});var c=a.inherit(a.TM,{b:"\\b([A-Za-z0-9_\\-]+)\\b"});return{cI:false,k:{keyword:"after byte bytes english the until http forever descending using line real8 with seventh for stdout finally element word fourth before black ninth sixth characters chars stderr uInt1 uInt1s uInt2 uInt2s stdin string lines relative rel any fifth items from middle mid at else of catch then third it file milliseconds seconds second secs sec int1 int1s int4 int4s internet int2 int2s normal text item last long detailed effective uInt4 uInt4s repeat end repeat URL in try into switch to words https token binfile each tenth as ticks tick system real4 by dateItems without char character ascending eighth whole dateTime numeric short first ftp integer abbreviated abbr abbrev private case while if",constant:"SIX TEN FORMFEED NINE ZERO NONE SPACE FOUR FALSE COLON CRLF PI COMMA ENDOFFILE EOF EIGHT FIVE QUOTE EMPTY ONE TRUE RETURN CR LINEFEED RIGHT BACKSLASH NULL SEVEN TAB THREE TWO six ten formfeed nine zero none space four false colon crlf pi comma endoffile eof eight five quote empty one true return cr linefeed right backslash null seven tab three two RIVERSION RISTATE FILE_READ_MODE FILE_WRITE_MODE FILE_WRITE_MODE DIR_WRITE_MODE FILE_READ_UMASK FILE_WRITE_UMASK DIR_READ_UMASK DIR_WRITE_UMASK",operator:"div mod wrap and or bitAnd bitNot bitOr bitXor among not in a an within contains ends with begins the keys of keys",built_in:"put abs acos aliasReference annuity arrayDecode arrayEncode asin atan atan2 average avg base64Decode base64Encode baseConvert binaryDecode binaryEncode byteToNum cachedURL cachedURLs charToNum cipherNames commandNames compound compress constantNames cos date dateFormat decompress directories diskSpace DNSServers exp exp1 exp2 exp10 extents files flushEvents folders format functionNames global globals hasMemory hostAddress hostAddressToName hostName hostNameToAddress isNumber ISOToMac itemOffset keys len length libURLErrorData libUrlFormData libURLftpCommand libURLLastHTTPHeaders libURLLastRHHeaders libUrlMultipartFormAddPart libUrlMultipartFormData libURLVersion lineOffset ln ln1 localNames log log2 log10 longFilePath lower macToISO matchChunk matchText matrixMultiply max md5Digest median merge millisec millisecs millisecond milliseconds min monthNames num number numToByte numToChar offset open openfiles openProcesses openProcessIDs openSockets paramCount param params peerAddress pendingMessages platform processID random randomBytes replaceText result revCreateXMLTree revCreateXMLTreeFromFile revCurrentRecord revCurrentRecordIsFirst revCurrentRecordIsLast revDatabaseColumnCount revDatabaseColumnIsNull revDatabaseColumnLengths revDatabaseColumnNames revDatabaseColumnNamed revDatabaseColumnNumbered revDatabaseColumnTypes revDatabaseConnectResult revDatabaseCursors revDatabaseID revDatabaseTableNames revDatabaseType revDataFromQuery revdb_closeCursor revdb_columnbynumber revdb_columncount revdb_columnisnull revdb_columnlengths revdb_columnnames revdb_columntypes revdb_commit revdb_connect revdb_connections revdb_connectionerr revdb_currentrecord revdb_cursorconnection revdb_cursorerr revdb_cursors revdb_dbtype revdb_disconnect revdb_execute revdb_iseof revdb_isbof revdb_movefirst revdb_movelast revdb_movenext revdb_moveprev revdb_query revdb_querylist revdb_recordcount revdb_rollback revdb_tablenames revGetDatabaseDriverPath revNumberOfRecords revOpenDatabase revOpenDatabases revQueryDatabase revQueryDatabaseBlob revQueryResult revQueryIsAtStart revQueryIsAtEnd revUnixFromMacPath revXMLAttribute revXMLAttributes revXMLAttributeValues revXMLChildContents revXMLChildNames revXMLFirstChild revXMLMatchingNode revXMLNextSibling revXMLNodeContents revXMLNumberOfChildren revXMLParent revXMLPreviousSibling revXMLRootNode revXMLRPC_CreateRequest revXMLRPC_Documents revXMLRPC_Error revXMLRPC_Execute revXMLRPC_GetHost revXMLRPC_GetMethod revXMLRPC_GetParam revXMLText revXMLRPC_GetParamCount revXMLRPC_GetParamNode revXMLRPC_GetParamType revXMLRPC_GetPath revXMLRPC_GetPort revXMLRPC_GetProtocol revXMLRPC_GetRequest revXMLRPC_GetResponse revXMLRPC_GetSocket revXMLTree revXMLTrees revXMLValidateDTD revZipDescribeItem revZipEnumerateItems revZipOpenArchives round sec secs seconds sha1Digest shell shortFilePath sin specialFolderPath sqrt standardDeviation statRound stdDev sum sysError systemVersion tan tempName tick ticks time to toLower toUpper transpose trunc uniDecode uniEncode upper URLDecode URLEncode URLStatus value variableNames version waitDepth weekdayNames wordOffset add breakpoint cancel clear local variable file word line folder directory URL close socket process combine constant convert create new alias folder directory decrypt delete variable word line folder directory URL dispatch divide do encrypt filter get include intersect kill libURLDownloadToFile libURLFollowHttpRedirects libURLftpUpload libURLftpUploadFile libURLresetAll libUrlSetAuthCallback libURLSetCustomHTTPHeaders libUrlSetExpect100 libURLSetFTPListCommand libURLSetFTPMode libURLSetFTPStopTime libURLSetStatusCallback load multiply socket process post seek rel relative read from process rename replace require resetAll revAddXMLNode revAppendXML revCloseCursor revCloseDatabase revCommitDatabase revCopyFile revCopyFolder revCopyXMLNode revDeleteFolder revDeleteXMLNode revDeleteAllXMLTrees revDeleteXMLTree revExecuteSQL revGoURL revInsertXMLNode revMoveFolder revMoveToFirstRecord revMoveToLastRecord revMoveToNextRecord revMoveToPreviousRecord revMoveToRecord revMoveXMLNode revPutIntoXMLNode revRollBackDatabase revSetDatabaseDriverPath revSetXMLAttribute revXMLRPC_AddParam revXMLRPC_DeleteAllDocuments revXMLAddDTD revXMLRPC_Free revXMLRPC_FreeAll revXMLRPC_DeleteDocument revXMLRPC_DeleteParam revXMLRPC_SetHost revXMLRPC_SetMethod revXMLRPC_SetPort revXMLRPC_SetProtocol revXMLRPC_SetSocket revZipAddItemWithData revZipAddItemWithFile revZipAddUncompressedItemWithData revZipAddUncompressedItemWithFile revZipCancel revZipCloseArchive revZipDeleteItem revZipExtractItemToFile revZipExtractItemToVariable revZipSetProgressCallback revZipRenameItem revZipReplaceItemWithData revZipReplaceItemWithFile revZipOpenArchive send set sort split subtract union unload wait write"},c:[e,{cN:"keyword",b:"\\bend\\sif\\b"},{cN:"function",bK:"function",e:"$",c:[e,c,a.ASM,a.QSM,a.BNM,a.CNM,d]},{cN:"function",bK:"end",e:"$",c:[c,d]},{cN:"command",bK:"command on",e:"$",c:[e,c,a.ASM,a.QSM,a.BNM,a.CNM,d]},{cN:"command",bK:"end",e:"$",c:[c,d]},{cN:"preprocessor",b:"<\\?rev|<\\?lc|<\\?livecode",r:10},{cN:"preprocessor",b:"<\\?"},{cN:"preprocessor",b:"\\?>"},b,a.ASM,a.QSM,a.BNM,a.CNM,d],i:";$|^\\[|^="}});hljs.registerLanguage("d",function(x){var b={keyword:"abstract alias align asm assert auto body break byte case cast catch class const continue debug default delete deprecated do else enum export extern final finally for foreach foreach_reverse|10 goto if immutable import in inout int interface invariant is lazy macro mixin module new nothrow out override package pragma private protected public pure ref return scope shared static struct super switch synchronized template this throw try typedef typeid typeof union unittest version void volatile while with __FILE__ __LINE__ __gshared|10 __thread __traits __DATE__ __EOF__ __TIME__ __TIMESTAMP__ __VENDOR__ __VERSION__",built_in:"bool cdouble cent cfloat char creal dchar delegate double dstring float function idouble ifloat ireal long real short string ubyte ucent uint ulong ushort wchar wstring",literal:"false null true"};var c="(0|[1-9][\\d_]*)",q="(0|[1-9][\\d_]*|\\d[\\d_]*|[\\d_]+?\\d)",h="0[bB][01_]+",v="([\\da-fA-F][\\da-fA-F_]*|_[\\da-fA-F][\\da-fA-F_]*)",y="0[xX]"+v,p="([eE][+-]?"+q+")",o="("+q+"(\\.\\d*|"+p+")|\\d+\\."+q+q+"|\\."+c+p+"?)",k="(0[xX]("+v+"\\."+v+"|\\.?"+v+")[pP][+-]?"+q+")",l="("+c+"|"+h+"|"+y+")",n="("+k+"|"+o+")";var z="\\\\(['\"\\?\\\\abfnrtv]|u[\\dA-Fa-f]{4}|[0-7]{1,3}|x[\\dA-Fa-f]{2}|U[\\dA-Fa-f]{8})|&[a-zA-Z\\d]{2,};";var m={cN:"number",b:"\\b"+l+"(L|u|U|Lu|LU|uL|UL)?",r:0};var j={cN:"number",b:"\\b("+n+"([fF]|L|i|[fF]i|Li)?|"+l+"(i|[fF]i|Li))",r:0};var s={cN:"string",b:"'("+z+"|.)",e:"'",i:"."};var r={b:z,r:0};var w={cN:"string",b:'"',c:[r],e:'"[cwd]?'};var f={cN:"string",b:'[rq]"',e:'"[cwd]?',r:5};var u={cN:"string",b:"`",e:"`[cwd]?"};var i={cN:"string",b:'x"[\\da-fA-F\\s\\n\\r]*"[cwd]?',r:10};var t={cN:"string",b:'q"\\{',e:'\\}"'};var e={cN:"shebang",b:"^#!",e:"$",r:5};var g={cN:"preprocessor",b:"#(line)",e:"$",r:5};var d={cN:"keyword",b:"@[a-zA-Z_][a-zA-Z_\\d]*"};var a={cN:"comment",b:"\\/\\+",c:["self"],e:"\\+\\/",r:10};return{l:x.UIR,k:b,c:[x.CLCM,x.CBCM,a,i,w,f,u,t,j,m,s,e,g,d]}});hljs.registerLanguage("vbnet",function(a){return{aliases:["vb"],cI:true,k:{keyword:"addhandler addressof alias and andalso aggregate ansi as assembly auto binary by byref byval call case catch class compare const continue custom declare default delegate dim distinct do each equals else elseif end enum erase error event exit explicit finally for friend from function get global goto group handles if implements imports in inherits interface into is isfalse isnot istrue join key let lib like loop me mid mod module mustinherit mustoverride mybase myclass namespace narrowing new next not notinheritable notoverridable of off on operator option optional or order orelse overloads overridable overrides paramarray partial preserve private property protected public raiseevent readonly redim rem removehandler resume return select set shadows shared skip static step stop structure strict sub synclock take text then throw to try unicode until using when where while widening with withevents writeonly xor",built_in:"boolean byte cbool cbyte cchar cdate cdec cdbl char cint clng cobj csbyte cshort csng cstr ctype date decimal directcast double gettype getxmlnamespace iif integer long object sbyte short single string trycast typeof uinteger ulong ushort",literal:"true false nothing"},i:"//|{|}|endif|gosub|variant|wend",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:"'",e:"$",rB:true,c:[{cN:"xmlDocTag",b:"'''|"},{cN:"xmlDocTag",b:""}]},a.CNM,{cN:"preprocessor",b:"#",e:"$",k:"if else elseif end region externalsource"}]}});hljs.registerLanguage("axapta",function(a){return{k:"false int abstract private char boolean static null if for true while long throw finally protected final return void enum else break new catch byte super case short default double public try this switch continue reverse firstfast firstonly forupdate nofetch sum avg minof maxof count order group by asc desc index hint like dispaly edit client server ttsbegin ttscommit str real date container anytype common div mod",c:[a.CLCM,a.CBCM,a.ASM,a.QSM,a.CNM,{cN:"preprocessor",b:"#",e:"$"},{cN:"class",bK:"class interface",e:"{",eE:true,i:":",c:[{bK:"extends implements"},a.UTM]}]}});hljs.registerLanguage("groovy",function(a){return{k:{typename:"byte short char int long boolean float double void",literal:"true false null",keyword:"def as in assert trait super this abstract static volatile transient public private protected synchronized final class interface enum if else for while switch case break default continue throw throws try catch finally implements extends new import package return instanceof"},c:[a.CLCM,{cN:"javadoc",b:"/\\*\\*",e:"\\*//*",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}]},a.CBCM,{cN:"string",b:'"""',e:'"""'},{cN:"string",b:"'''",e:"'''"},{cN:"string",b:"\\$/",e:"/\\$",r:10},a.ASM,{cN:"regexp",b:/~?\/[^\/\n]+\//,c:[a.BE]},a.QSM,{cN:"shebang",b:"^#!/usr/bin/env",e:"$",i:"\n"},a.BNM,{cN:"class",bK:"class interface trait enum",e:"{",i:":",c:[{bK:"extends implements"},a.UTM,]},a.CNM,{cN:"annotation",b:"@[A-Za-z]+"},{cN:"string",b:/[^\?]{0}[A-Za-z0-9_$]+ *:/},{b:/\?/,e:/\:/},{cN:"label",b:"^\\s*[A-Za-z0-9_$]+:"},]}});hljs.registerLanguage("perl",function(c){var d="getpwent getservent quotemeta msgrcv scalar kill dbmclose undef lc ma syswrite tr send umask sysopen shmwrite vec qx utime local oct semctl localtime readpipe do return format read sprintf dbmopen pop getpgrp not getpwnam rewinddir qqfileno qw endprotoent wait sethostent bless s|0 opendir continue each sleep endgrent shutdown dump chomp connect getsockname die socketpair close flock exists index shmgetsub for endpwent redo lstat msgctl setpgrp abs exit select print ref gethostbyaddr unshift fcntl syscall goto getnetbyaddr join gmtime symlink semget splice x|0 getpeername recv log setsockopt cos last reverse gethostbyname getgrnam study formline endhostent times chop length gethostent getnetent pack getprotoent getservbyname rand mkdir pos chmod y|0 substr endnetent printf next open msgsnd readdir use unlink getsockopt getpriority rindex wantarray hex system getservbyport endservent int chr untie rmdir prototype tell listen fork shmread ucfirst setprotoent else sysseek link getgrgid shmctl waitpid unpack getnetbyname reset chdir grep split require caller lcfirst until warn while values shift telldir getpwuid my getprotobynumber delete and sort uc defined srand accept package seekdir getprotobyname semop our rename seek if q|0 chroot sysread setpwent no crypt getc chown sqrt write setnetent setpriority foreach tie sin msgget map stat getlogin unless elsif truncate exec keys glob tied closedirioctl socket readlink eval xor readline binmode setservent eof ord bind alarm pipe atan2 getgrent exp time push setgrent gt lt or ne m|0 break given say state when";var f={cN:"subst",b:"[$@]\\{",e:"\\}",k:d};var g={b:"->{",e:"}"};var a={cN:"variable",v:[{b:/\$\d/},{b:/[\$\%\@](\^\w\b|#\w+(\:\:\w+)*|{\w+}|\w+(\:\:\w*)*)/},{b:/[\$\%\@][^\s\w{]/,r:0}]};var e={cN:"comment",b:"^(__END__|__DATA__)",e:"\\n$",r:5};var h=[c.BE,f,a];var b=[a,c.HCM,e,{cN:"comment",b:"^\\=\\w",e:"\\=cut",eW:true},g,{cN:"string",c:h,v:[{b:"q[qwxr]?\\s*\\(",e:"\\)",r:5},{b:"q[qwxr]?\\s*\\[",e:"\\]",r:5},{b:"q[qwxr]?\\s*\\{",e:"\\}",r:5},{b:"q[qwxr]?\\s*\\|",e:"\\|",r:5},{b:"q[qwxr]?\\s*\\<",e:"\\>",r:5},{b:"qw\\s+q",e:"q",r:5},{b:"'",e:"'",c:[c.BE]},{b:'"',e:'"'},{b:"`",e:"`",c:[c.BE]},{b:"{\\w+}",c:[],r:0},{b:"-?\\w+\\s*\\=\\>",c:[],r:0}]},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{b:"(\\/\\/|"+c.RSR+"|\\b(split|return|print|reverse|grep)\\b)\\s*",k:"split return print reverse grep",r:0,c:[c.HCM,e,{cN:"regexp",b:"(s|tr|y)/(\\\\.|[^/])*/(\\\\.|[^/])*/[a-z]*",r:10},{cN:"regexp",b:"(m|qr)?/",e:"/[a-z]*",c:[c.BE],r:0}]},{cN:"sub",bK:"sub",e:"(\\s*\\(.*?\\))?[;{]",r:5},{cN:"operator",b:"-\\w\\b",r:0}];f.c=b;g.c=b;return{aliases:["pl"],k:d,c:b}});hljs.registerLanguage("scala",function(d){var b={cN:"annotation",b:"@[A-Za-z]+"};var c={cN:"string",b:'u?r?"""',e:'"""',r:10};var a={cN:"symbol",b:"'\\w[\\w\\d_]*(?!')"};var e={cN:"type",b:"\\b[A-Z][A-Za-z0-9_]*",r:0};var h={cN:"title",b:/[^0-9\n\t "'(),.`{}\[\]:;][^\n\t "'(),.`{}\[\]:;]+|[^0-9\n\t "'(),.`{}\[\]:;=]/,r:0};var i={cN:"class",bK:"class object trait type",e:/[:={\[(\n;]/,c:[{cN:"keyword",bK:"extends with",r:10},h]};var g={cN:"function",bK:"def val",e:/[:={\[(\n;]/,c:[h]};var f={cN:"javadoc",b:"/\\*\\*",e:"\\*/",c:[{cN:"javadoctag",b:"@[A-Za-z]+"}],r:10};return{k:{literal:"true false null",keyword:"type yield lazy override def with val var sealed abstract private trait object if forSome for while throw finally protected extends import final return else break new catch super class case package default try this match continue throws implicit"},c:[d.CLCM,d.CBCM,c,d.QSM,a,e,g,i,d.CNM,b]}});hljs.registerLanguage("cmake",function(a){return{aliases:["cmake.in"],cI:true,k:{keyword:"add_custom_command add_custom_target add_definitions add_dependencies add_executable add_library add_subdirectory add_test aux_source_directory break build_command cmake_minimum_required cmake_policy configure_file create_test_sourcelist define_property else elseif enable_language enable_testing endforeach endfunction endif endmacro endwhile execute_process export find_file find_library find_package find_path find_program fltk_wrap_ui foreach function get_cmake_property get_directory_property get_filename_component get_property get_source_file_property get_target_property get_test_property if include include_directories include_external_msproject include_regular_expression install link_directories load_cache load_command macro mark_as_advanced message option output_required_files project qt_wrap_cpp qt_wrap_ui remove_definitions return separate_arguments set set_directory_properties set_property set_source_files_properties set_target_properties set_tests_properties site_name source_group string target_link_libraries try_compile try_run unset variable_watch while build_name exec_program export_library_dependencies install_files install_programs install_targets link_libraries make_directory remove subdir_depends subdirs use_mangled_mesa utility_source variable_requires write_file qt5_use_modules qt5_use_package qt5_wrap_cpp on off true false and or",operator:"equal less greater strless strgreater strequal matches"},c:[{cN:"envvar",b:"\\${",e:"}"},a.HCM,a.QSM,a.NM]}});hljs.registerLanguage("ocaml",function(a){return{aliases:["ml"],k:{keyword:"and as assert asr begin class constraint do done downto else end exception external false for fun function functor if in include inherit initializer land lazy let lor lsl lsr lxor match method mod module mutable new object of open or private rec ref sig struct then to true try type val virtual when while with parser value",built_in:"bool char float int list unit array exn option int32 int64 nativeint format4 format6 lazy_t in_channel out_channel string"},i:/\/\//,c:[{cN:"string",b:'"""',e:'"""'},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self"]},{cN:"class",bK:"type",e:"\\(|=|$",eE:true,c:[a.UTM]},{cN:"annotation",b:"\\[<",e:">\\]"},a.CBCM,a.inherit(a.ASM,{i:null}),a.inherit(a.QSM,{i:null}),a.CNM]}});hljs.registerLanguage("autohotkey",function(b){var d={cN:"escape",b:"`[\\s\\S]"};var c={cN:"comment",b:";",e:"$",r:0};var a=[{cN:"built_in",b:"A_[a-zA-Z0-9]+"},{cN:"built_in",bK:"ComSpec Clipboard ClipboardAll ErrorLevel"}];return{cI:true,k:{keyword:"Break Continue Else Gosub If Loop Return While",literal:"A true false NOT AND OR"},c:a.concat([d,b.inherit(b.QSM,{c:[d]}),c,{cN:"number",b:b.NR,r:0},{cN:"var_expand",b:"%",e:"%",i:"\\n",c:[d]},{cN:"label",c:[d],v:[{b:'^[^\\n";]+::(?!=)'},{b:'^[^\\n";]+:(?!=)',r:0}]},{b:",\\s*,",r:10}])}});hljs.registerLanguage("objectivec",function(a){var d={keyword:"int float while char export sizeof typedef const struct for union unsigned long volatile static bool mutable if do return goto void enum else break extern asm case short default double register explicit signed typename this switch continue wchar_t inline readonly assign readwrite self @synchronized id typeof nonatomic super unichar IBOutlet IBAction strong weak copy in out inout bycopy byref oneway __strong __weak __block __autoreleasing @private @protected @public @try @property @end @throw @catch @finally @autoreleasepool @synthesize @dynamic @selector @optional @required",literal:"false true FALSE TRUE nil YES NO NULL",built_in:"NSString NSData NSDictionary CGRect CGPoint UIButton UILabel UITextView UIWebView MKMapView NSView NSViewController NSWindow NSWindowController NSSet NSUUID NSIndexSet UISegmentedControl NSObject UITableViewDelegate UITableViewDataSource NSThread UIActivityIndicator UITabbar UIToolBar UIBarButtonItem UIImageView NSAutoreleasePool UITableView BOOL NSInteger CGFloat NSException NSLog NSMutableString NSMutableArray NSMutableDictionary NSURL NSIndexPath CGSize UITableViewCell UIView UIViewController UINavigationBar UINavigationController UITabBarController UIPopoverController UIPopoverControllerDelegate UIImage NSNumber UISearchBar NSFetchedResultsController NSFetchedResultsChangeType UIScrollView UIScrollViewDelegate UIEdgeInsets UIColor UIFont UIApplication NSNotFound NSNotificationCenter NSNotification UILocalNotification NSBundle NSFileManager NSTimeInterval NSDate NSCalendar NSUserDefaults UIWindow NSRange NSArray NSError NSURLRequest NSURLConnection NSURLSession NSURLSessionDataTask NSURLSessionDownloadTask NSURLSessionUploadTask NSURLResponseUIInterfaceOrientation MPMoviePlayerController dispatch_once_t dispatch_queue_t dispatch_sync dispatch_async dispatch_once"};var c=/[a-zA-Z@][a-zA-Z0-9_]*/;var b="@interface @class @protocol @implementation";return{aliases:["m","mm","objc","obj-c"],k:d,l:c,i:""}]}]},{cN:"class",b:"("+b.split(" ").join("|")+")\\b",e:"({|$)",eE:true,k:b,l:c,c:[a.UTM]},{cN:"variable",b:"\\."+a.UIR,r:0}]}});hljs.registerLanguage("avrasm",function(a){return{cI:true,l:"\\.?"+a.IR,k:{keyword:"adc add adiw and andi asr bclr bld brbc brbs brcc brcs break breq brge brhc brhs brid brie brlo brlt brmi brne brpl brsh brtc brts brvc brvs bset bst call cbi cbr clc clh cli cln clr cls clt clv clz com cp cpc cpi cpse dec eicall eijmp elpm eor fmul fmuls fmulsu icall ijmp in inc jmp ld ldd ldi lds lpm lsl lsr mov movw mul muls mulsu neg nop or ori out pop push rcall ret reti rjmp rol ror sbc sbr sbrc sbrs sec seh sbi sbci sbic sbis sbiw sei sen ser ses set sev sez sleep spm st std sts sub subi swap tst wdr",built_in:"r0 r1 r2 r3 r4 r5 r6 r7 r8 r9 r10 r11 r12 r13 r14 r15 r16 r17 r18 r19 r20 r21 r22 r23 r24 r25 r26 r27 r28 r29 r30 r31 x|0 xh xl y|0 yh yl z|0 zh zl ucsr1c udr1 ucsr1a ucsr1b ubrr1l ubrr1h ucsr0c ubrr0h tccr3c tccr3a tccr3b tcnt3h tcnt3l ocr3ah ocr3al ocr3bh ocr3bl ocr3ch ocr3cl icr3h icr3l etimsk etifr tccr1c ocr1ch ocr1cl twcr twdr twar twsr twbr osccal xmcra xmcrb eicra spmcsr spmcr portg ddrg ping portf ddrf sreg sph spl xdiv rampz eicrb eimsk gimsk gicr eifr gifr timsk tifr mcucr mcucsr tccr0 tcnt0 ocr0 assr tccr1a tccr1b tcnt1h tcnt1l ocr1ah ocr1al ocr1bh ocr1bl icr1h icr1l tccr2 tcnt2 ocr2 ocdr wdtcr sfior eearh eearl eedr eecr porta ddra pina portb ddrb pinb portc ddrc pinc portd ddrd pind spdr spsr spcr udr0 ucsr0a ucsr0b ubrr0l acsr admux adcsr adch adcl porte ddre pine pinf",preprocessor:".byte .cseg .db .def .device .dseg .dw .endmacro .equ .eseg .exit .include .list .listmac .macro .nolist .org .set"},c:[a.CBCM,{cN:"comment",b:";",e:"$",r:0},a.CNM,a.BNM,{cN:"number",b:"\\b(\\$[a-zA-Z0-9]+|0o[0-7]+)"},a.QSM,{cN:"string",b:"'",e:"[^\\\\]'",i:"[^\\\\][^']"},{cN:"label",b:"^[A-Za-z0-9_.$]+:"},{cN:"preprocessor",b:"#",e:"$"},{cN:"localvars",b:"@[0-9]+"}]}});hljs.registerLanguage("vhdl",function(a){return{cI:true,k:{keyword:"abs access after alias all and architecture array assert attribute begin block body buffer bus case component configuration constant context cover disconnect downto default else elsif end entity exit fairness file for force function generate generic group guarded if impure in inertial inout is label library linkage literal loop map mod nand new next nor not null of on open or others out package port postponed procedure process property protected pure range record register reject release rem report restrict restrict_guarantee return rol ror select sequence severity shared signal sla sll sra srl strong subtype then to transport type unaffected units until use variable vmode vprop vunit wait when while with xnor xor",typename:"boolean bit character severity_level integer time delay_length natural positive string bit_vector file_open_kind file_open_status std_ulogic std_ulogic_vector std_logic std_logic_vector unsigned signed boolean_vector integer_vector real_vector time_vector"},i:"{",c:[a.CBCM,{cN:"comment",b:"--",e:"$"},a.QSM,a.CNM,{cN:"literal",b:"'(U|X|0|1|Z|W|L|H|-)'",c:[a.BE]},{cN:"attribute",b:"'[A-Za-z](_?[A-Za-z0-9])*",c:[a.BE]}]}});hljs.registerLanguage("coffeescript",function(c){var b={keyword:"in if for while finally new do return else break catch instanceof throw try this switch continue typeof delete debugger super then unless until loop of by when and or is isnt not",literal:"true false null undefined yes no on off",reserved:"case default function var void with const let enum export import native __hasProp __extends __slice __bind __indexOf",built_in:"npm require console print module global window document"};var a="[A-Za-z$_][0-9A-Za-z$_]*";var f=c.inherit(c.TM,{b:a});var e={cN:"subst",b:/#\{/,e:/}/,k:b};var d=[c.BNM,c.inherit(c.CNM,{starts:{e:"(\\s*/)?",r:0}}),{cN:"string",v:[{b:/'''/,e:/'''/,c:[c.BE]},{b:/'/,e:/'/,c:[c.BE]},{b:/"""/,e:/"""/,c:[c.BE,e]},{b:/"/,e:/"/,c:[c.BE,e]}]},{cN:"regexp",v:[{b:"///",e:"///",c:[e,c.HCM]},{b:"//[gim]*",r:0},{b:/\/(?![ *])(\\\/|.)*?\/[gim]*(?=\W|$)/}]},{cN:"property",b:"@"+a},{b:"`",e:"`",eB:true,eE:true,sL:"javascript"}];e.c=d;return{aliases:["coffee","cson","iced"],k:b,i:/\/\*/,c:d.concat([{cN:"comment",b:"###",e:"###"},c.HCM,{cN:"function",b:"(^\\s*|\\B)("+a+"\\s*=\\s*)?(\\(.*\\))?\\s*\\B[-=]>",e:"[-=]>",rB:true,c:[f,{cN:"params",b:"\\([^\\(]",rB:true,c:[{b:/\(/,e:/\)/,k:b,c:["self"].concat(d)}]}]},{cN:"class",bK:"class",e:"$",i:/[:="\[\]]/,c:[{bK:"extends",eW:true,i:/[:="\[\]]/,c:[f]},f]},{cN:"attribute",b:a+":",e:":",rB:true,eE:true,r:0}])}});hljs.registerLanguage("mizar",function(a){return{k:["environ vocabularies notations constructors definitions registrations theorems schemes requirements","begin end definition registration cluster existence pred func defpred deffunc theorem proof","let take assume then thus hence ex for st holds consider reconsider such that and in provided of as from","be being by means equals implies iff redefine define now not or attr is mode suppose per cases set","thesis contradiction scheme reserve struct","correctness compatibility coherence symmetry assymetry reflexivity irreflexivity","connectedness uniqueness commutativity idempotence involutiveness projectivity"].join(" "),c:[{cN:"comment",b:"::",e:"$"}]}});hljs.registerLanguage("nginx",function(c){var b={cN:"variable",v:[{b:/\$\d+/},{b:/\$\{/,e:/}/},{b:"[\\$\\@]"+c.UIR}]};var a={eW:true,l:"[a-z/_]+",k:{built_in:"on off yes no true false none blocked debug info notice warn error crit select break last permanent redirect kqueue rtsig epoll poll /dev/poll"},r:0,i:"=>",c:[c.HCM,{cN:"string",c:[c.BE,b],v:[{b:/"/,e:/"/},{b:/'/,e:/'/}]},{cN:"url",b:"([a-z]+):/",e:"\\s",eW:true,eE:true,c:[b]},{cN:"regexp",c:[c.BE,b],v:[{b:"\\s\\^",e:"\\s|{|;",rE:true},{b:"~\\*?\\s+",e:"\\s|{|;",rE:true},{b:"\\*(\\.[a-z\\-]+)+"},{b:"([a-z\\-]+\\.)+\\*"}]},{cN:"number",b:"\\b\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}\\.\\d{1,3}(:\\d{1,5})?\\b"},{cN:"number",b:"\\b\\d+[kKmMgGdshdwy]*\\b",r:0},b]};return{aliases:["nginxconf"],c:[c.HCM,{b:c.UIR+"\\s",e:";|{",rB:true,c:[{cN:"title",b:c.UIR,starts:a}],r:0}],i:"[^\\s\\}]"}});hljs.registerLanguage("erlang-repl",function(a){return{k:{special_functions:"spawn spawn_link self",reserved:"after and andalso|10 band begin bnot bor bsl bsr bxor case catch cond div end fun if let not of or orelse|10 query receive rem try when xor"},c:[{cN:"prompt",b:"^[0-9]+> ",r:10},{cN:"comment",b:"%",e:"$"},{cN:"number",b:"\\b(\\d+#[a-fA-F0-9]+|\\d+(\\.\\d+)?([eE][-+]?\\d+)?)",r:0},a.ASM,a.QSM,{cN:"constant",b:"\\?(::)?([A-Z]\\w*(::)?)+"},{cN:"arrow",b:"->"},{cN:"ok",b:"ok"},{cN:"exclamation_mark",b:"!"},{cN:"function_or_atom",b:"(\\b[a-z'][a-zA-Z0-9_']*:[a-z'][a-zA-Z0-9_']*)|(\\b[a-z'][a-zA-Z0-9_']*)",r:0},{cN:"variable",b:"[A-Z][a-zA-Z0-9_']*",r:0}]}});hljs.registerLanguage("r",function(a){var b="([a-zA-Z]|\\.[a-zA-Z.])[a-zA-Z0-9._]*";return{c:[a.HCM,{b:b,l:b,k:{keyword:"function if in break next repeat else for return switch while try tryCatch|10 stop warning require library attach detach source setMethod setGeneric setGroupGeneric setClass ...|10",literal:"NULL NA TRUE FALSE T F Inf NaN NA_integer_|10 NA_real_|10 NA_character_|10 NA_complex_|10"},r:0},{cN:"number",b:"0[xX][0-9a-fA-F]+[Li]?\\b",r:0},{cN:"number",b:"\\d+(?:[eE][+\\-]?\\d*)?L\\b",r:0},{cN:"number",b:"\\d+\\.(?!\\d)(?:i\\b)?",r:0},{cN:"number",b:"\\d+(?:\\.\\d*)?(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{cN:"number",b:"\\.\\d+(?:[eE][+\\-]?\\d*)?i?\\b",r:0},{b:"`",e:"`",r:0},{cN:"string",c:[a.BE],v:[{b:'"',e:'"'},{b:"'",e:"'"}]}]}});hljs.registerLanguage("json",function(a){var e={literal:"true false null"};var d=[a.QSM,a.CNM];var c={cN:"value",e:",",eW:true,eE:true,c:d,k:e};var b={b:"{",e:"}",c:[{cN:"attribute",b:'\\s*"',e:'"\\s*:\\s*',eB:true,eE:true,c:[a.BE],i:"\\n",starts:c}],i:"\\S"};var f={b:"\\[",e:"\\]",c:[a.inherit(c,{cN:null})],i:"\\S"};d.splice(d.length,0,b,f);return{c:d,k:e,i:"\\S"}});hljs.registerLanguage("django",function(a){var b={cN:"filter",b:/\|[A-Za-z]+\:?/,k:"truncatewords removetags linebreaksbr yesno get_digit timesince random striptags filesizeformat escape linebreaks length_is ljust rjust cut urlize fix_ampersands title floatformat capfirst pprint divisibleby add make_list unordered_list urlencode timeuntil urlizetrunc wordcount stringformat linenumbers slice date dictsort dictsortreversed default_if_none pluralize lower join center default truncatewords_html upper length phone2numeric wordwrap time addslashes slugify first escapejs force_escape iriencode last safe safeseq truncatechars localize unlocalize localtime utc timezone",c:[{cN:"argument",b:/"/,e:/"/},{cN:"argument",b:/'/,e:/'/}]};return{aliases:["jinja"],cI:true,sL:"xml",subLanguageMode:"continuous",c:[{cN:"template_comment",b:/\{%\s*comment\s*%}/,e:/\{%\s*endcomment\s*%}/},{cN:"template_comment",b:/\{#/,e:/#}/},{cN:"template_tag",b:/\{%/,e:/%}/,k:"comment endcomment load templatetag ifchanged endifchanged if endif firstof for endfor in ifnotequal endifnotequal widthratio extends include spaceless endspaceless regroup by as ifequal endifequal ssi now with cycle url filter endfilter debug block endblock else autoescape endautoescape csrf_token empty elif endwith static trans blocktrans endblocktrans get_static_prefix get_media_prefix plural get_current_language language get_available_languages get_current_language_bidi get_language_info get_language_info_list localize endlocalize localtime endlocaltime timezone endtimezone get_current_timezone verbatim",c:[b]},{cN:"variable",b:/\{\{/,e:/}}/,c:[b]}]}});hljs.registerLanguage("delphi",function(b){var a="exports register file shl array record property for mod while set ally label uses raise not stored class safecall var interface or private static exit index inherited to else stdcall override shr asm far resourcestring finalization packed virtual out and protected library do xorwrite goto near function end div overload object unit begin string on inline repeat until destructor write message program with read initialization except default nil if case cdecl in downto threadvar of try pascal const external constructor type public then implementation finally published procedure";var e={cN:"comment",v:[{b:/\{/,e:/\}/,r:0},{b:/\(\*/,e:/\*\)/,r:10}]};var c={cN:"string",b:/'/,e:/'/,c:[{b:/''/}]};var d={cN:"string",b:/(#\d+)+/};var f={b:b.IR+"\\s*=\\s*class\\s*\\(",rB:true,c:[b.TM]};var g={cN:"function",bK:"function constructor destructor procedure",e:/[:;]/,k:"function constructor|10 destructor|10 procedure|10",c:[b.TM,{cN:"params",b:/\(/,e:/\)/,k:a,c:[c,d]},e]};return{cI:true,k:a,i:/("|\$[G-Zg-z]|\/\*|<\/)/,c:[e,b.CLCM,c,d,b.NM,f,g]}});hljs.registerLanguage("vbscript",function(a){return{aliases:["vbs"],cI:true,k:{keyword:"call class const dim do loop erase execute executeglobal exit for each next function if then else on error option explicit new private property let get public randomize redim rem select case set stop sub while wend with end to elseif is or xor and not class_initialize class_terminate default preserve in me byval byref step resume goto",built_in:"lcase month vartype instrrev ubound setlocale getobject rgb getref string weekdayname rnd dateadd monthname now day minute isarray cbool round formatcurrency conversions csng timevalue second year space abs clng timeserial fixs len asc isempty maths dateserial atn timer isobject filter weekday datevalue ccur isdate instr datediff formatdatetime replace isnull right sgn array snumeric log cdbl hex chr lbound msgbox ucase getlocale cos cdate cbyte rtrim join hour oct typename trim strcomp int createobject loadpicture tan formatnumber mid scriptenginebuildversion scriptengine split scriptengineminorversion cint sin datepart ltrim sqr scriptenginemajorversion time derived eval date formatpercent exp inputbox left ascw chrw regexp server response request cstr err",literal:"true false null nothing empty"},i:"//",c:[a.inherit(a.QSM,{c:[{b:'""'}]}),{cN:"comment",b:/'/,e:/$/,r:0},a.CNM]}});hljs.registerLanguage("oxygene",function(b){var g="abstract add and array as asc aspect assembly async begin break block by case class concat const copy constructor continue create default delegate desc distinct div do downto dynamic each else empty end ensure enum equals event except exit extension external false final finalize finalizer finally flags for forward from function future global group has if implementation implements implies in index inherited inline interface into invariants is iterator join locked locking loop matching method mod module namespace nested new nil not notify nullable of old on operator or order out override parallel params partial pinned private procedure property protected public queryable raise read readonly record reintroduce remove repeat require result reverse sealed select self sequence set shl shr skip static step soft take then to true try tuple type union unit unsafe until uses using var virtual raises volatile where while with write xor yield await mapped deprecated stdcall cdecl pascal register safecall overload library platform reference packed strict published autoreleasepool selector strong weak unretained";var a={cN:"comment",b:"{",e:"}",r:0};var e={cN:"comment",b:"\\(\\*",e:"\\*\\)",r:10};var c={cN:"string",b:"'",e:"'",c:[{b:"''"}]};var d={cN:"string",b:"(#\\d+)+"};var f={cN:"function",bK:"function constructor destructor procedure method",e:"[:;]",k:"function constructor|10 destructor|10 procedure|10 method|10",c:[b.TM,{cN:"params",b:"\\(",e:"\\)",k:g,c:[c,d]},a,e]};return{cI:true,k:g,i:'("|\\$[G-Zg-z]|\\/\\*|"},{cN:"keyword",b:/\w+/,r:0,k:{common:"order deny allow setenv rewriterule rewriteengine rewritecond documentroot sethandler errordocument loadmodule options header listen serverroot servername"},starts:{e:/$/,r:0,k:{literal:"on off all"},c:[{cN:"sqbracket",b:"\\s\\[",e:"\\]$"},{cN:"cbracket",b:"[\\$%]\\{",e:"\\}",c:["self",b]},b,a.QSM]}}],i:/\S/}});hljs.registerLanguage("scss",function(a){var c="[a-zA-Z-][a-zA-Z0-9_-]*";var f={cN:"variable",b:"(\\$"+c+")\\b"};var d={cN:"function",b:c+"\\(",rB:true,eE:true,e:"\\("};var b={cN:"hexcolor",b:"#[0-9A-Fa-f]+"};var e={cN:"attribute",b:"[A-Z\\_\\.\\-]+",e:":",eE:true,i:"[^\\s]",starts:{cN:"value",eW:true,eE:true,c:[d,b,a.CSSNM,a.QSM,a.ASM,a.CBCM,{cN:"important",b:"!important"}]}};return{cI:true,i:"[=/|']",c:[a.CLCM,a.CBCM,d,{cN:"id",b:"\\#[A-Za-z0-9_-]+",r:0},{cN:"class",b:"\\.[A-Za-z0-9_-]+",r:0},{cN:"attr_selector",b:"\\[",e:"\\]",i:"$"},{cN:"tag",b:"\\b(a|abbr|acronym|address|area|article|aside|audio|b|base|big|blockquote|body|br|button|canvas|caption|cite|code|col|colgroup|command|datalist|dd|del|details|dfn|div|dl|dt|em|embed|fieldset|figcaption|figure|footer|form|frame|frameset|(h[1-6])|head|header|hgroup|hr|html|i|iframe|img|input|ins|kbd|keygen|label|legend|li|link|map|mark|meta|meter|nav|noframes|noscript|object|ol|optgroup|option|output|p|param|pre|progress|q|rp|rt|ruby|samp|script|section|select|small|span|strike|strong|style|sub|sup|table|tbody|td|textarea|tfoot|th|thead|time|title|tr|tt|ul|var|video)\\b",r:0},{cN:"pseudo",b:":(visited|valid|root|right|required|read-write|read-only|out-range|optional|only-of-type|only-child|nth-of-type|nth-last-of-type|nth-last-child|nth-child|not|link|left|last-of-type|last-child|lang|invalid|indeterminate|in-range|hover|focus|first-of-type|first-line|first-letter|first-child|first|enabled|empty|disabled|default|checked|before|after|active)"},{cN:"pseudo",b:"::(after|before|choices|first-letter|first-line|repeat-index|repeat-item|selection|value)"},f,{cN:"attribute",b:"\\b(z-index|word-wrap|word-spacing|word-break|width|widows|white-space|visibility|vertical-align|unicode-bidi|transition-timing-function|transition-property|transition-duration|transition-delay|transition|transform-style|transform-origin|transform|top|text-underline-position|text-transform|text-shadow|text-rendering|text-overflow|text-indent|text-decoration-style|text-decoration-line|text-decoration-color|text-decoration|text-align-last|text-align|tab-size|table-layout|right|resize|quotes|position|pointer-events|perspective-origin|perspective|page-break-inside|page-break-before|page-break-after|padding-top|padding-right|padding-left|padding-bottom|padding|overflow-y|overflow-x|overflow-wrap|overflow|outline-width|outline-style|outline-offset|outline-color|outline|orphans|order|opacity|object-position|object-fit|normal|none|nav-up|nav-right|nav-left|nav-index|nav-down|min-width|min-height|max-width|max-height|mask|marks|margin-top|margin-right|margin-left|margin-bottom|margin|list-style-type|list-style-position|list-style-image|list-style|line-height|letter-spacing|left|justify-content|initial|inherit|ime-mode|image-orientation|image-resolution|image-rendering|icon|hyphens|height|font-weight|font-variant-ligatures|font-variant|font-style|font-stretch|font-size-adjust|font-size|font-language-override|font-kerning|font-feature-settings|font-family|font|float|flex-wrap|flex-shrink|flex-grow|flex-flow|flex-direction|flex-basis|flex|filter|empty-cells|display|direction|cursor|counter-reset|counter-increment|content|column-width|column-span|column-rule-width|column-rule-style|column-rule-color|column-rule|column-gap|column-fill|column-count|columns|color|clip-path|clip|clear|caption-side|break-inside|break-before|break-after|box-sizing|box-shadow|box-decoration-break|bottom|border-width|border-top-width|border-top-style|border-top-right-radius|border-top-left-radius|border-top-color|border-top|border-style|border-spacing|border-right-width|border-right-style|border-right-color|border-right|border-radius|border-left-width|border-left-style|border-left-color|border-left|border-image-width|border-image-source|border-image-slice|border-image-repeat|border-image-outset|border-image|border-color|border-collapse|border-bottom-width|border-bottom-style|border-bottom-right-radius|border-bottom-left-radius|border-bottom-color|border-bottom|border|background-size|background-repeat|background-position|background-origin|background-image|background-color|background-clip|background-attachment|background|backface-visibility|auto|animation-timing-function|animation-play-state|animation-name|animation-iteration-count|animation-fill-mode|animation-duration|animation-direction|animation-delay|animation|align-self|align-items|align-content)\\b",i:"[^\\s]"},{cN:"value",b:"\\b(whitespace|wait|w-resize|visible|vertical-text|vertical-ideographic|uppercase|upper-roman|upper-alpha|underline|transparent|top|thin|thick|text|text-top|text-bottom|tb-rl|table-header-group|table-footer-group|sw-resize|super|strict|static|square|solid|small-caps|separate|se-resize|scroll|s-resize|rtl|row-resize|ridge|right|repeat|repeat-y|repeat-x|relative|progress|pointer|overline|outside|outset|oblique|nowrap|not-allowed|normal|none|nw-resize|no-repeat|no-drop|newspaper|ne-resize|n-resize|move|middle|medium|ltr|lr-tb|lowercase|lower-roman|lower-alpha|loose|list-item|line|line-through|line-edge|lighter|left|keep-all|justify|italic|inter-word|inter-ideograph|inside|inset|inline|inline-block|inherit|inactive|ideograph-space|ideograph-parenthesis|ideograph-numeric|ideograph-alpha|horizontal|hidden|help|hand|groove|fixed|ellipsis|e-resize|double|dotted|distribute|distribute-space|distribute-letter|distribute-all-lines|disc|disabled|default|decimal|dashed|crosshair|collapse|col-resize|circle|char|center|capitalize|break-word|break-all|bottom|both|bolder|bold|block|bidi-override|below|baseline|auto|always|all-scroll|absolute|table|table-cell)\\b"},{cN:"value",b:":",e:";",c:[d,f,b,a.CSSNM,a.QSM,a.ASM,{cN:"important",b:"!important"}]},{cN:"at_rule",b:"@",e:"[{;]",k:"mixin include extend for if else each while charset import debug media page content font-face namespace warn",c:[d,f,a.QSM,a.ASM,b,a.CSSNM,{cN:"preprocessor",b:"\\s[A-Za-z0-9_.-]+",r:0}]}]}});hljs.registerLanguage("monkey",function(a){var b={v:[{cN:"number",b:"[$][a-fA-F0-9]+"},a.NM]};return{cI:true,k:{keyword:"public private property continue exit extern new try catch eachin not abstract final select case default const local global field end if then else elseif endif while wend repeat until forever for to step next return module inline throw",built_in:"DebugLog DebugStop Error Print ACos ACosr ASin ASinr ATan ATan2 ATan2r ATanr Abs Abs Ceil Clamp Clamp Cos Cosr Exp Floor Log Max Max Min Min Pow Sgn Sgn Sin Sinr Sqrt Tan Tanr Seed PI HALFPI TWOPI",literal:"true false null and or shl shr mod"},c:[{cN:"comment",b:"#rem",e:"#end"},{cN:"comment",b:"'",e:"$",r:0},{cN:"function",bK:"function method",e:"[(=:]|$",i:/\n/,c:[a.UTM,]},{cN:"class",bK:"class interface",e:"$",c:[{bK:"extends implements"},a.UTM]},{cN:"variable",b:"\\b(self|super)\\b"},{cN:"preprocessor",bK:"import",e:"$"},{cN:"preprocessor",b:"\\s*#",e:"$",k:"if else elseif endif end then"},{cN:"pi",b:"^\\s*strict\\b"},{bK:"alias",e:"=",c:[a.UTM]},a.QSM,b]}});hljs.registerLanguage("applescript",function(a){var b=a.inherit(a.QSM,{i:""});var d={cN:"params",b:"\\(",e:"\\)",c:["self",a.CNM,b]};var c=[{cN:"comment",b:"--",e:"$"},{cN:"comment",b:"\\(\\*",e:"\\*\\)",c:["self",{b:"--",e:"$"}]},a.HCM];return{aliases:["osascript"],k:{keyword:"about above after against and around as at back before beginning behind below beneath beside between but by considering contain contains continue copy div does eighth else end equal equals error every exit fifth first for fourth from front get given global if ignoring in into is it its last local me middle mod my ninth not of on onto or over prop property put ref reference repeat returning script second set seventh since sixth some tell tenth that the|0 then third through thru timeout times to transaction try until where while whose with without",constant:"AppleScript false linefeed return pi quote result space tab true",type:"alias application boolean class constant date file integer list number real record string text",command:"activate beep count delay launch log offset read round run say summarize write",property:"character characters contents day frontmost id item length month name paragraph paragraphs rest reverse running time version weekday word words year"},c:[b,a.CNM,{cN:"type",b:"\\bPOSIX file\\b"},{cN:"command",b:"\\b(clipboard info|the clipboard|info for|list (disks|folder)|mount volume|path to|(close|open for) access|(get|set) eof|current date|do shell script|get volume settings|random number|set volume|system attribute|system info|time to GMT|(load|run|store) script|scripting components|ASCII (character|number)|localized string|choose (application|color|file|file name|folder|from list|remote application|URL)|display (alert|dialog))\\b|^\\s*return\\b"},{cN:"constant",b:"\\b(text item delimiters|current application|missing value)\\b"},{cN:"keyword",b:"\\b(apart from|aside from|instead of|out of|greater than|isn't|(doesn't|does not) (equal|come before|come after|contain)|(greater|less) than( or equal)?|(starts?|ends|begins?) with|contained by|comes (before|after)|a (ref|reference))\\b"},{cN:"property",b:"\\b(POSIX path|(date|time) string|quoted form)\\b"},{cN:"function_start",bK:"on",i:"[${=;\\n]",c:[a.UTM,d]}].concat(c),i:"//"}});hljs.registerLanguage("lasso",function(d){var b="[a-zA-Z_][a-zA-Z0-9_.]*";var i="<\\?(lasso(script)?|=)";var c="\\]|\\?>";var g={literal:"true false none minimal full all void and or not bw nbw ew new cn ncn lt lte gt gte eq neq rx nrx ft",built_in:"array date decimal duration integer map pair string tag xml null bytes list queue set stack staticarray tie local var variable global data self inherited",keyword:"error_code error_msg error_pop error_push error_reset cache database_names database_schemanames database_tablenames define_tag define_type email_batch encode_set html_comment handle handle_error header if inline iterate ljax_target link link_currentaction link_currentgroup link_currentrecord link_detail link_firstgroup link_firstrecord link_lastgroup link_lastrecord link_nextgroup link_nextrecord link_prevgroup link_prevrecord log loop namespace_using output_none portal private protect records referer referrer repeating resultset rows search_args search_arguments select sort_args sort_arguments thread_atomic value_list while abort case else if_empty if_false if_null if_true loop_abort loop_continue loop_count params params_up return return_value run_children soap_definetag soap_lastrequest soap_lastresponse tag_name ascending average by define descending do equals frozen group handle_failure import in into join let match max min on order parent protected provide public require returnhome skip split_thread sum take thread to trait type where with yield yieldhome"};var a={cN:"comment",b:"",r:0};var j={cN:"preprocessor",b:"\\[noprocess\\]",starts:{cN:"markup",e:"\\[/noprocess\\]",rE:true,c:[a]}};var e={cN:"preprocessor",b:"\\[/noprocess|"+i};var h={cN:"variable",b:"'"+b+"'"};var f=[d.CLCM,{cN:"javadoc",b:"/\\*\\*!",e:"\\*/",c:[d.PWM]},d.CBCM,d.inherit(d.CNM,{b:d.CNR+"|-?(infinity|nan)\\b"}),d.inherit(d.ASM,{i:null}),d.inherit(d.QSM,{i:null}),{cN:"string",b:"`",e:"`"},{cN:"variable",v:[{b:"[#$]"+b},{b:"#",e:"\\d+",i:"\\W"}]},{cN:"tag",b:"::\\s*",e:b,i:"\\W"},{cN:"attribute",v:[{b:"-"+d.UIR,r:0},{b:"(\\.\\.\\.)"}]},{cN:"subst",v:[{b:"->\\s*",c:[h]},{b:":=|/(?!\\w)=?|[-+*%=<>&|!?\\\\]+",r:0}]},{cN:"built_in",b:"\\.\\.?",r:0,c:[h]},{cN:"class",bK:"define",rE:true,e:"\\(|=>",c:[d.inherit(d.TM,{b:d.UIR+"(=(?!>))?"})]}];return{aliases:["ls","lassoscript"],cI:true,l:b+"|&[lg]t;",k:g,c:[{cN:"preprocessor",b:c,r:0,starts:{cN:"markup",e:"\\[|"+i,rE:true,r:0,c:[a]}},j,e,{cN:"preprocessor",b:"\\[no_square_brackets",starts:{e:"\\[/no_square_brackets\\]",l:b+"|&[lg]t;",k:g,c:[{cN:"preprocessor",b:c,r:0,starts:{cN:"markup",e:i,rE:true,c:[a]}},j,e].concat(f)}},{cN:"preprocessor",b:"\\[",r:0},{cN:"shebang",b:"^#!.+lasso9\\b",r:10}].concat(f)}});hljs.registerLanguage("cpp",function(a){var b={keyword:"false int float while private char catch export virtual operator sizeof dynamic_cast|10 typedef const_cast|10 const struct for static_cast|10 union namespace unsigned long throw volatile static protected bool template mutable if public friend do return goto auto void enum else break new extern using true class asm case typeid short reinterpret_cast|10 default double register explicit signed typename try this switch continue wchar_t inline delete alignof char16_t char32_t constexpr decltype noexcept nullptr static_assert thread_local restrict _Bool complex _Complex _Imaginary",built_in:"std string cin cout cerr clog stringstream istringstream ostringstream auto_ptr deque list queue stack vector map set bitset multiset multimap unordered_set unordered_map unordered_multiset unordered_multimap array shared_ptr abort abs acos asin atan2 atan calloc ceil cosh cos exit exp fabs floor fmod fprintf fputs free frexp fscanf isalnum isalpha iscntrl isdigit isgraph islower isprint ispunct isspace isupper isxdigit tolower toupper labs ldexp log10 log malloc memchr memcmp memcpy memset modf pow printf putchar puts scanf sinh sin snprintf sprintf sqrt sscanf strcat strchr strcmp strcpy strcspn strlen strncat strncmp strncpy strpbrk strrchr strspn strstr tanh tan vfprintf vprintf vsprintf"};return{aliases:["c","h","c++","h++"],k:b,i:""]',k:"include",i:"\\n"},a.CLCM]},{cN:"stl_container",b:"\\b(deque|list|queue|stack|vector|map|set|bitset|multiset|multimap|unordered_map|unordered_set|unordered_multiset|unordered_multimap|array)\\s*<",e:">",k:b,c:["self"]},{b:a.IR+"::"}]}});hljs.registerLanguage("matlab",function(a){var b=[a.CNM,{cN:"string",b:"'",e:"'",c:[a.BE,{b:"''"}]}];return{k:{keyword:"break case catch classdef continue else elseif end enumerated events for function global if methods otherwise parfor persistent properties return spmd switch try while",built_in:"sin sind sinh asin asind asinh cos cosd cosh acos acosd acosh tan tand tanh atan atand atan2 atanh sec secd sech asec asecd asech csc cscd csch acsc acscd acsch cot cotd coth acot acotd acoth hypot exp expm1 log log1p log10 log2 pow2 realpow reallog realsqrt sqrt nthroot nextpow2 abs angle complex conj imag real unwrap isreal cplxpair fix floor ceil round mod rem sign airy besselj bessely besselh besseli besselk beta betainc betaln ellipj ellipke erf erfc erfcx erfinv expint gamma gammainc gammaln psi legendre cross dot factor isprime primes gcd lcm rat rats perms nchoosek factorial cart2sph cart2pol pol2cart sph2cart hsv2rgb rgb2hsv zeros ones eye repmat rand randn linspace logspace freqspace meshgrid accumarray size length ndims numel disp isempty isequal isequalwithequalnans cat reshape diag blkdiag tril triu fliplr flipud flipdim rot90 find sub2ind ind2sub bsxfun ndgrid permute ipermute shiftdim circshift squeeze isscalar isvector ans eps realmax realmin pi i inf nan isnan isinf isfinite j why compan gallery hadamard hankel hilb invhilb magic pascal rosser toeplitz vander wilkinson"},i:'(//|"|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function",e:"$",c:[a.UTM,{cN:"params",b:"\\(",e:"\\)"},{cN:"params",b:"\\[",e:"\\]"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",c:b,r:0},{cN:"cell",b:"\\{",c:b,i:/:/,v:[{e:/\}'[\.']*/},{e:/\}/,r:0}]},{cN:"comment",b:"\\%",e:"$"}].concat(b)}});hljs.registerLanguage("scilab",function(a){var b=[a.CNM,{cN:"string",b:"'|\"",e:"'|\"",c:[a.BE,{b:"''"}]}];return{aliases:["sci"],k:{keyword:"abort break case clear catch continue do elseif else endfunction end for functionglobal if pause return resume select try then while%f %F %t %T %pi %eps %inf %nan %e %i %z %s",built_in:"abs and acos asin atan ceil cd chdir clearglobal cosh cos cumprod deff disp errorexec execstr exists exp eye gettext floor fprintf fread fsolve imag isdef isemptyisinfisnan isvector lasterror length load linspace list listfiles log10 log2 logmax min msprintf mclose mopen ones or pathconvert poly printf prod pwd rand realround sinh sin size gsort sprintf sqrt strcat strcmps tring sum system tanh tantype typename warning zeros matrix"},i:'("|#|/\\*|\\s+/\\w+)',c:[{cN:"function",bK:"function endfunction",e:"$",k:"function endfunction|10",c:[a.UTM,{cN:"params",b:"\\(",e:"\\)"}]},{cN:"transposed_variable",b:"[a-zA-Z_][a-zA-Z_0-9]*('+[\\.']*|[\\.']+)",e:"",r:0},{cN:"matrix",b:"\\[",e:"\\]'*[\\.']*",r:0,c:b},{cN:"comment",b:"//",e:"$"}].concat(b)}});hljs.registerLanguage("makefile",function(a){var b={cN:"variable",b:/\$\(/,e:/\)/,c:[a.BE]};return{aliases:["mk","mak"],c:[a.HCM,{b:/^\w+\s*\W*=/,rB:true,r:0,starts:{cN:"constant",e:/\s*\W*=/,eE:true,starts:{e:/$/,r:0,c:[b]}}},{cN:"title",b:/^[\w]+:\s*$/},{cN:"phony",b:/^\.PHONY:/,e:/$/,k:".PHONY",l:/[\.\w]+/},{b:/^\t+/,e:/$/,r:0,c:[a.QSM,b]}]}});hljs.registerLanguage("q",function(a){var b={keyword:"do while select delete by update from",constant:"0b 1b",built_in:"neg not null string reciprocal floor ceiling signum mod xbar xlog and or each scan over prior mmu lsq inv md5 ltime gtime count first var dev med cov cor all any rand sums prds mins maxs fills deltas ratios avgs differ prev next rank reverse iasc idesc asc desc msum mcount mavg mdev xrank mmin mmax xprev rotate distinct group where flip type key til get value attr cut set upsert raze union inter except cross sv vs sublist enlist read0 read1 hopen hclose hdel hsym hcount peach system ltrim rtrim trim lower upper ssr view tables views cols xcols keys xkey xcol xasc xdesc fkeys meta lj aj aj0 ij pj asof uj ww wj wj1 fby xgroup ungroup ej save load rsave rload show csv parse eval min max avg wavg wsum sin cos tan sum",typename:"`float `double int `timestamp `timespan `datetime `time `boolean `symbol `char `byte `short `long `real `month `date `minute `second `guid"};return{aliases:["k","kdb"],k:b,l:/\b(`?)[A-Za-z0-9_]+\b/,c:[a.CLCM,a.QSM,a.CNM]}});hljs.registerLanguage("asciidoc",function(a){return{c:[{cN:"comment",b:"^/{4,}\\n",e:"\\n/{4,}$",r:10},{cN:"comment",b:"^//",e:"$",r:0},{cN:"title",b:"^\\.\\w.*$"},{b:"^[=\\*]{4,}\\n",e:"\\n^[=\\*]{4,}$",r:10},{cN:"header",b:"^(={1,5}) .+?( \\1)?$",r:10},{cN:"header",b:"^[^\\[\\]\\n]+?\\n[=\\-~\\^\\+]{2,}$",r:10},{cN:"attribute",b:"^:.+?:",e:"\\s",eE:true,r:10},{cN:"attribute",b:"^\\[.+?\\]$",r:0},{cN:"blockquote",b:"^_{4,}\\n",e:"\\n_{4,}$",r:10},{cN:"code",b:"^[\\-\\.]{4,}\\n",e:"\\n[\\-\\.]{4,}$",r:10},{b:"^\\+{4,}\\n",e:"\\n\\+{4,}$",c:[{b:"<",e:">",sL:"xml",r:0}],r:10},{cN:"bullet",b:"^(\\*+|\\-+|\\.+|[^\\n]+?::)\\s+"},{cN:"label",b:"^(NOTE|TIP|IMPORTANT|WARNING|CAUTION):\\s+",r:10},{cN:"strong",b:"\\B\\*(?![\\*\\s])",e:"(\\n{2}|\\*)",c:[{b:"\\\\*\\w",r:0}]},{cN:"emphasis",b:"\\B'(?!['\\s])",e:"(\\n{2}|')",c:[{b:"\\\\'\\w",r:0}],r:0},{cN:"emphasis",b:"_(?![_\\s])",e:"(\\n{2}|_)",r:0},{cN:"smartquote",b:"``.+?''",r:10},{cN:"smartquote",b:"`.+?'",r:10},{cN:"code",b:"(`.+?`|\\+.+?\\+)",r:0},{cN:"code",b:"^[ \\t]",e:"$",r:0},{cN:"horizontal_rule",b:"^'{3,}[ \\t]*$",r:10},{b:"(link:)?(http|https|ftp|file|irc|image:?):\\S+\\[.*?\\]",rB:true,c:[{b:"(link|image:?):",r:0},{cN:"link_url",b:"\\w",e:"[^\\[]+",r:0},{cN:"link_label",b:"\\[",e:"\\]",eB:true,eE:true,r:0}],r:10}]}});hljs.registerLanguage("parser3",function(a){return{sL:"xml",r:0,c:[{cN:"comment",b:"^#",e:"$"},{cN:"comment",b:"\\^rem{",e:"}",r:10,c:[{b:"{",e:"}",c:["self"]}]},{cN:"preprocessor",b:"^@(?:BASE|USE|CLASS|OPTIONS)$",r:10},{cN:"title",b:"@[\\w\\-]+\\[[\\w^;\\-]*\\](?:\\[[\\w^;\\-]*\\])?(?:.*)$"},{cN:"variable",b:"\\$\\{?[\\w\\-\\.\\:]+\\}?"},{cN:"keyword",b:"\\^[\\w\\-\\.\\:]+"},{cN:"number",b:"\\^#[0-9a-fA-F]+"},a.CNM]}});hljs.registerLanguage("clojure",function(j){var e={built_in:"def cond apply if-not if-let if not not= = < > <= >= == + / * - rem quot neg? pos? delay? symbol? keyword? true? false? integer? empty? coll? list? set? ifn? fn? associative? sequential? sorted? counted? reversible? number? decimal? class? distinct? isa? float? rational? reduced? ratio? odd? even? char? seq? vector? string? map? nil? contains? zero? instance? not-every? not-any? libspec? -> ->> .. . inc compare do dotimes mapcat take remove take-while drop letfn drop-last take-last drop-while while intern condp case reduced cycle split-at split-with repeat replicate iterate range merge zipmap declare line-seq sort comparator sort-by dorun doall nthnext nthrest partition eval doseq await await-for let agent atom send send-off release-pending-sends add-watch mapv filterv remove-watch agent-error restart-agent set-error-handler error-handler set-error-mode! error-mode shutdown-agents quote var fn loop recur throw try monitor-enter monitor-exit defmacro defn defn- macroexpand macroexpand-1 for dosync and or when when-not when-let comp juxt partial sequence memoize constantly complement identity assert peek pop doto proxy defstruct first rest cons defprotocol cast coll deftype defrecord last butlast sigs reify second ffirst fnext nfirst nnext defmulti defmethod meta with-meta ns in-ns create-ns import refer keys select-keys vals key val rseq name namespace promise into transient persistent! conj! assoc! dissoc! pop! disj! use class type num float double short byte boolean bigint biginteger bigdec print-method print-dup throw-if printf format load compile get-in update-in pr pr-on newline flush read slurp read-line subvec with-open memfn time re-find re-groups rand-int rand mod locking assert-valid-fdecl alias resolve ref deref refset swap! reset! set-validator! compare-and-set! alter-meta! reset-meta! commute get-validator alter ref-set ref-history-count ref-min-history ref-max-history ensure sync io! new next conj set! to-array future future-call into-array aset gen-class reduce map filter find empty hash-map hash-set sorted-map sorted-map-by sorted-set sorted-set-by vec vector seq flatten reverse assoc dissoc list disj get union difference intersection extend extend-type extend-protocol int nth delay count concat chunk chunk-buffer chunk-append chunk-first chunk-rest max min dec unchecked-inc-int unchecked-inc unchecked-dec-inc unchecked-dec unchecked-negate unchecked-add-int unchecked-add unchecked-subtract-int unchecked-subtract chunk-next chunk-cons chunked-seq? prn vary-meta lazy-seq spread list* str find-keyword keyword symbol gensym force rationalize"};var f="[a-zA-Z_0-9\\!\\.\\?\\-\\+\\*\\/\\<\\=\\>\\&\\#\\$';]+";var a="[\\s:\\(\\{]+\\d+(\\.\\d+)?";var d={cN:"number",b:a,r:0};var i=j.inherit(j.QSM,{i:null});var n={cN:"comment",b:";",e:"$",r:0};var m={cN:"collection",b:"[\\[\\{]",e:"[\\]\\}]"};var c={cN:"comment",b:"\\^"+f};var b={cN:"comment",b:"\\^\\{",e:"\\}"};var h={cN:"attribute",b:"[:]"+f};var l={cN:"list",b:"\\(",e:"\\)"};var g={eW:true,k:{literal:"true false nil"},r:0};var o={k:e,l:f,cN:"keyword",b:f,starts:g};l.c=[{cN:"comment",b:"comment"},o,g];g.c=[l,i,c,b,n,h,m,d];m.c=[l,i,c,n,h,m,d];return{aliases:["clj"],i:/\S/,c:[n,l,{cN:"prompt",b:/^=> /,starts:{e:/\n\n|\Z/}}]}});hljs.registerLanguage("elixir",function(e){var f="[a-zA-Z_][a-zA-Z0-9_]*(\\!|\\?)?";var g="[a-zA-Z_]\\w*[!?=]?|[-+~]\\@|<<|>>|=~|===?|<=>|[<>]=?|\\*\\*|[-/+%^&*~`|]|\\[\\]=?";var i="and false then defined module in return redo retry end for true self when next until do begin unless nil break not case cond alias while ensure or include use alias fn quote";var c={cN:"subst",b:"#\\{",e:"}",l:f,k:i};var d={cN:"string",c:[e.BE,c],v:[{b:/'/,e:/'/},{b:/"/,e:/"/}]};var b={eW:true,rE:true,l:f,k:i,r:0};var h={cN:"function",bK:"def defmacro",e:/\bdo\b/,c:[e.inherit(e.TM,{b:g,starts:b})]};var j=e.inherit(h,{cN:"class",bK:"defmodule defrecord",e:/\bdo\b|$|;/});var a=[d,e.HCM,j,h,{cN:"constant",b:"(\\b[A-Z_]\\w*(.)?)+",r:0},{cN:"symbol",b:":",c:[d,{b:g}],r:0},{cN:"symbol",b:f+":",r:0},{cN:"number",b:"(\\b0[0-7_]+)|(\\b0x[0-9a-fA-F_]+)|(\\b[1-9][0-9_]*(\\.[0-9_]+)?)|[0_]\\b",r:0},{cN:"variable",b:"(\\$\\W)|((\\$|\\@\\@?)(\\w+))"},{b:"->"},{b:"("+e.RSR+")\\s*",c:[e.HCM,{cN:"regexp",i:"\\n",c:[e.BE,c],v:[{b:"/",e:"/[a-z]*"},{b:"%r\\[",e:"\\][a-z]*"}]}],r:0}];c.c=a;b.c=a;return{l:f,k:i,c:a}});hljs.registerLanguage("typescript",function(a){return{aliases:["ts"],k:{keyword:"in if for while finally var new function|0 do return void else break catch instanceof with throw case default try this switch continue typeof delete let yield const class public private get set super interface extendsstatic constructor implements enum export import declare",literal:"true false null undefined NaN Infinity",built_in:"eval isFinite isNaN parseFloat parseInt decodeURI decodeURIComponent encodeURI encodeURIComponent escape unescape Object Function Boolean Error EvalError InternalError RangeError ReferenceError StopIteration SyntaxError TypeError URIError Number Math Date String RegExp Array Float32Array Float64Array Int16Array Int32Array Int8Array Uint16Array Uint32Array Uint8Array Uint8ClampedArray ArrayBuffer DataView JSON Intl arguments require module console window document any number boolean string void",},c:[{cN:"pi",b:/^\s*('|")use strict('|")/,r:0},a.ASM,a.QSM,a.CLCM,a.CBCM,a.CNM,{b:"("+a.RSR+"|\\b(case|return|throw)\\b)\\s*",k:"return throw case",c:[a.CLCM,a.CBCM,a.RM,{b:/;/,r:0,sL:"xml"}],r:0},{cN:"function",bK:"function",e:/\{/,eE:true,c:[a.inherit(a.TM,{b:/[A-Za-z$_][0-9A-Za-z$_]*/}),{cN:"params",b:/\(/,e:/\)/,c:[a.CLCM,a.CBCM],i:/["'\(]/}],i:/\[|%/,r:0},{cN:"constructor",bK:"constructor",e:/\{/,eE:true,r:10},{cN:"module",bK:"module",e:/\{/,eE:true,},{cN:"interface",bK:"interface",e:/\{/,eE:true,},{b:/\$[(.]/},{b:"\\."+a.IR,r:0}]}});hljs.registerLanguage("go",function(a){var b={keyword:"break default func interface select case map struct chan else goto package switch const fallthrough if range type continue for import return var go defer",constant:"true false iota nil",typename:"bool byte complex64 complex128 float32 float64 int8 int16 int32 int64 string uint8 uint16 uint32 uint64 int uint uintptr rune",built_in:"append cap close complex copy imag len make new panic print println real recover delete"};return{aliases:["golang"],k:b,i:"=this.size)return undefined;if(i>=this._buf.length)return undefined;return this._buf[(this.pos-i-1)%this.size]};CircularBuffer.prototype.push=function(o){this._buf[this.pos%this.size]=o;return this.pos++}},{}],3:[function(require,module,exports){var Connection=module.exports=require("./base_connection");Connection.prototype.setupSocket=function(){var connection=this;var socket=new WebSocket(this.getUrl());socket.onopen=function(){connection.handleOpen()};socket.onmessage=function(message){connection.handleData(message.data)};socket.onclose=function(){connection.handleClose()};return socket};Connection.prototype.startHeartbeat=function(){if(!this.protocol.sendHeartbeat||this.heartbeatTimer)return;var connection=this;var propertyName=null;if(typeof document.hidden!=="undefined"){propertyName="hidden"}else if(typeof document.mozHidden!=="undefined"){propertyName="mozHidden"}else if(typeof document.msHidden!=="undefined"){propertyName="msHidden"}else if(typeof document.webkitHidden!=="undefined"){propertyName="webkitHidden"}else{propertyName=undefined}var windowVisible=true;var focusListener=window.addEventListener("focus",function(e){windowVisible=true});var blurListener=window.addEventListener("blur",function(e){windowVisible=false});this.on("disconnect",function(){if(connection.heartbeatTimer){clearTimeout(connection.heartbeatTimer);delete connection.heartbeatTimer}window.removeEventListener(focusListener);window.removeEventListener(blurListener)});this.heartbeatTimer=setInterval(function(){var isVisible=propertyName===undefined?true:document[propertyName]===false;if(isVisible&&windowVisible){connection.sendHeartbeat()}else{connection.setHeartbeatState(false)}},this.opts.heartbeatInterval)}},{"./base_connection":1}],4:[function(require,module,exports){!function(process){var Frame=require("./frame"),CircularBuffer=require("./circular_buffer"),Pipeline=require("./pipeline"),EventEmitter=require("events").EventEmitter,gestureListener=require("./gesture").gestureListener,_=require("underscore");var Controller=module.exports=function(opts){var inNode=typeof process!=="undefined"&&process.title==="node";opts=_.defaults(opts||{},{inNode:inNode});this.inNode=opts.inNode;opts=_.defaults(opts||{},{frameEventName:this.useAnimationLoop()?"animationFrame":"deviceFrame",supressAnimationLoop:false});this.supressAnimationLoop=opts.supressAnimationLoop;this.frameEventName=opts.frameEventName;this.history=new CircularBuffer(200);this.lastFrame=Frame.Invalid;this.lastValidFrame=Frame.Invalid;this.lastConnectionFrame=Frame.Invalid;this.accumulatedGestures=[];if(opts.connectionType===undefined){this.connectionType=this.inBrowser()?require("./connection"):require("./node_connection")}else{this.connectionType=opts.connectionType}this.connection=new this.connectionType(opts);this.setupConnectionEvents()};Controller.prototype.gesture=function(type,cb){var creator=gestureListener(this,type);if(cb!==undefined){creator.stop(cb)}return creator};Controller.prototype.inBrowser=function(){return!this.inNode};Controller.prototype.useAnimationLoop=function(){return this.inBrowser()&&typeof chrome==="undefined"};Controller.prototype.connect=function(){var controller=this;if(this.connection.connect()&&this.inBrowser()&&!controller.supressAnimationLoop){var callback=function(){controller.emit("animationFrame",controller.lastConnectionFrame);window.requestAnimFrame(callback)};window.requestAnimFrame(callback)}};Controller.prototype.disconnect=function(){this.connection.disconnect()};Controller.prototype.frame=function(num){return this.history.get(num)||Frame.Invalid};Controller.prototype.loop=function(callback){switch(callback.length){case 1:this.on(this.frameEventName,callback);break;case 2:var controller=this;var scheduler=null;var immediateRunnerCallback=function(frame){callback(frame,function(){if(controller.lastFrame!=frame){immediateRunnerCallback(controller.lastFrame)}else{controller.once(controller.frameEventName,immediateRunnerCallback)}})};this.once(this.frameEventName,immediateRunnerCallback);break}this.connect()};Controller.prototype.addStep=function(step){if(!this.pipeline)this.pipeline=new Pipeline(this);this.pipeline.addStep(step)};Controller.prototype.processFrame=function(frame){if(frame.gestures){this.accumulatedGestures=this.accumulatedGestures.concat(frame.gestures)}if(this.pipeline){frame=this.pipeline.run(frame);if(!frame)frame=Frame.Invalid}this.lastConnectionFrame=frame;this.emit("deviceFrame",frame)};Controller.prototype.processFinishedFrame=function(frame){this.lastFrame=frame;if(frame.valid){this.lastValidFrame=frame}frame.controller=this;frame.historyIdx=this.history.push(frame);if(frame.gestures){frame.gestures=this.accumulatedGestures;this.accumulatedGestures=[];for(var gestureIdx=0;gestureIdx!=frame.gestures.length;gestureIdx++){this.emit("gesture",frame.gestures[gestureIdx],frame)}}this.emit("frame",frame)};Controller.prototype.setupConnectionEvents=function(){var controller=this;this.connection.on("frame",function(frame){controller.processFrame(frame)});this.on(this.frameEventName,function(frame){controller.processFinishedFrame(frame)});this.connection.on("disconnect",function(){controller.emit("disconnect")});this.connection.on("ready",function(){controller.emit("ready")});this.connection.on("connect",function(){controller.emit("connect")});this.connection.on("focus",function(){controller.emit("focus")});this.connection.on("blur",function(){controller.emit("blur")});this.connection.on("protocol",function(protocol){controller.emit("protocol",protocol)});this.connection.on("deviceConnect",function(evt){controller.emit(evt.state?"deviceConnected":"deviceDisconnected")})};_.extend(Controller.prototype,EventEmitter.prototype)}(require("__browserify_process"))},{"./circular_buffer":2,"./connection":3,"./frame":5,"./gesture":6,"./node_connection":16,"./pipeline":10,__browserify_process:18,events:17,underscore:20}],5:[function(require,module,exports){var Hand=require("./hand"),Pointable=require("./pointable"),createGesture=require("./gesture").createGesture,glMatrix=require("gl-matrix"),mat3=glMatrix.mat3,vec3=glMatrix.vec3,InteractionBox=require("./interaction_box"),_=require("underscore");var Frame=module.exports=function(data){this.valid=true;this.id=data.id;this.timestamp=data.timestamp;this.hands=[];this.handsMap={};this.pointables=[];this.tools=[];this.fingers=[];if(data.interactionBox){this.interactionBox=new InteractionBox(data.interactionBox)}this.gestures=[];this.pointablesMap={};this._translation=data.t;this._rotation=_.flatten(data.r);this._scaleFactor=data.s;this.data=data;this.type="frame";this.currentFrameRate=data.currentFrameRate;var handMap={};for(var handIdx=0,handCount=data.hands.length;handIdx!=handCount;handIdx++){var hand=new Hand(data.hands[handIdx]);hand.frame=this;this.hands.push(hand);this.handsMap[hand.id]=hand;handMap[hand.id]=handIdx}for(var pointableIdx=0,pointableCount=data.pointables.length;pointableIdx!=pointableCount;pointableIdx++){var pointable=new Pointable(data.pointables[pointableIdx]);pointable.frame=this;this.pointables.push(pointable);this.pointablesMap[pointable.id]=pointable;(pointable.tool?this.tools:this.fingers).push(pointable);if(pointable.handId!==undefined&&handMap.hasOwnProperty(pointable.handId)){var hand=this.hands[handMap[pointable.handId]];hand.pointables.push(pointable);(pointable.tool?hand.tools:hand.fingers).push(pointable)}}if(data.gestures){for(var gestureIdx=0,gestureCount=data.gestures.length;gestureIdx!=gestureCount;gestureIdx++){this.gestures.push(createGesture(data.gestures[gestureIdx]))}}};Frame.prototype.tool=function(id){var pointable=this.pointable(id);return pointable.tool?pointable:Pointable.Invalid};Frame.prototype.pointable=function(id){return this.pointablesMap[id]||Pointable.Invalid};Frame.prototype.finger=function(id){var pointable=this.pointable(id);return!pointable.tool?pointable:Pointable.Invalid};Frame.prototype.hand=function(id){return this.handsMap[id]||Hand.Invalid};Frame.prototype.rotationAngle=function(sinceFrame,axis){if(!this.valid||!sinceFrame.valid)return 0;var rot=this.rotationMatrix(sinceFrame);var cs=(rot[0]+rot[4]+rot[8]-1)*.5;var angle=Math.acos(cs);angle=isNaN(angle)?0:angle;if(axis!==undefined){var rotAxis=this.rotationAxis(sinceFrame);angle*=vec3.dot(rotAxis,vec3.normalize(vec3.create(),axis))}return angle};Frame.prototype.rotationAxis=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();return vec3.normalize(vec3.create(),[this._rotation[7]-sinceFrame._rotation[5],this._rotation[2]-sinceFrame._rotation[6],this._rotation[3]-sinceFrame._rotation[1]])};Frame.prototype.rotationMatrix=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return mat3.create();var transpose=mat3.transpose(mat3.create(),this._rotation);return mat3.multiply(mat3.create(),sinceFrame._rotation,transpose)};Frame.prototype.scaleFactor=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return 1;return Math.exp(this._scaleFactor-sinceFrame._scaleFactor)};Frame.prototype.translation=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();return vec3.subtract(vec3.create(),this._translation,sinceFrame._translation)};Frame.prototype.toString=function(){var str="Frame [ id:"+this.id+" | timestamp:"+this.timestamp+" | Hand count:("+this.hands.length+") | Pointable count:("+this.pointables.length+")";if(this.gestures)str+=" | Gesture count:("+this.gestures.length+")";str+=" ]";return str};Frame.prototype.dump=function(){var out="";out+="Frame Info:
";out+=this.toString();out+="

Hands:
";for(var handIdx=0,handCount=this.hands.length;handIdx!=handCount;handIdx++){out+=" "+this.hands[handIdx].toString()+"
"}out+="

Pointables:
";for(var pointableIdx=0,pointableCount=this.pointables.length;pointableIdx!=pointableCount;pointableIdx++){out+=" "+this.pointables[pointableIdx].toString()+"
"}if(this.gestures){out+="

Gestures:
";for(var gestureIdx=0,gestureCount=this.gestures.length;gestureIdx!=gestureCount;gestureIdx++){out+=" "+this.gestures[gestureIdx].toString()+"
"}}out+="

Raw JSON:
";out+=JSON.stringify(this.data);return out};Frame.Invalid={valid:false,hands:[],fingers:[],tools:[],gestures:[],pointables:[],pointable:function(){return Pointable.Invalid},finger:function(){return Pointable.Invalid},hand:function(){return Hand.Invalid},toString:function(){return"invalid frame"},dump:function(){return this.toString()},rotationAngle:function(){return 0},rotationMatrix:function(){return mat3.create()},rotationAxis:function(){return vec3.create()},scaleFactor:function(){return 1},translation:function(){return vec3.create()}}},{"./gesture":6,"./hand":7,"./interaction_box":9,"./pointable":11,"gl-matrix":19,underscore:20}],6:[function(require,module,exports){var glMatrix=require("gl-matrix"),vec3=glMatrix.vec3,EventEmitter=require("events").EventEmitter,_=require("underscore");var createGesture=exports.createGesture=function(data){var gesture;switch(data.type){case"circle":gesture=new CircleGesture(data);break;case"swipe":gesture=new SwipeGesture(data);break;case"screenTap":gesture=new ScreenTapGesture(data);break;case"keyTap":gesture=new KeyTapGesture(data);break;default:throw"unkown gesture type"}gesture.id=data.id;gesture.handIds=data.handIds;gesture.pointableIds=data.pointableIds;gesture.duration=data.duration;gesture.state=data.state;gesture.type=data.type;return gesture};var gestureListener=exports.gestureListener=function(controller,type){var handlers={};var gestureMap={};var gestureCreator=function(){var candidateGesture=gestureMap[gesture.id];if(candidateGesture!==undefined)gesture.update(gesture,frame);if(gesture.state=="start"||gesture.state=="stop"){if(type==gesture.type&&gestureMap[gesture.id]===undefined){gestureMap[gesture.id]=new Gesture(gesture,frame);gesture.update(gesture,frame)}if(gesture.state=="stop"){delete gestureMap[gesture.id]}}};controller.on("gesture",function(gesture,frame){if(gesture.type==type){if(gesture.state=="start"||gesture.state=="stop"){if(gestureMap[gesture.id]===undefined){var gestureTracker=new Gesture(gesture,frame);gestureMap[gesture.id]=gestureTracker;_.each(handlers,function(cb,name){gestureTracker.on(name,cb)})}}gestureMap[gesture.id].update(gesture,frame);if(gesture.state=="stop"){delete gestureMap[gesture.id]}}});var builder={start:function(cb){handlers["start"]=cb;return builder},stop:function(cb){handlers["stop"]=cb;return builder},complete:function(cb){handlers["stop"]=cb;return builder},update:function(cb){handlers["update"]=cb;return builder}};return builder};var Gesture=exports.Gesture=function(gesture,frame){this.gestures=[gesture];this.frames=[frame]};Gesture.prototype.update=function(gesture,frame){this.gestures.push(gesture);this.frames.push(frame);this.emit(gesture.state,this)};_.extend(Gesture.prototype,EventEmitter.prototype);var CircleGesture=function(data){this.center=data.center;this.normal=data.normal;this.progress=data.progress;this.radius=data.radius};CircleGesture.prototype.toString=function(){return"CircleGesture ["+JSON.stringify(this)+"]"};var SwipeGesture=function(data){this.startPosition=data.startPosition;this.position=data.position;this.direction=data.direction;this.speed=data.speed};SwipeGesture.prototype.toString=function(){return"SwipeGesture ["+JSON.stringify(this)+"]"};var ScreenTapGesture=function(data){this.position=data.position;this.direction=data.direction;this.progress=data.progress};ScreenTapGesture.prototype.toString=function(){return"ScreenTapGesture ["+JSON.stringify(this)+"]"};var KeyTapGesture=function(data){this.position=data.position;this.direction=data.direction;this.progress=data.progress};KeyTapGesture.prototype.toString=function(){return"KeyTapGesture ["+JSON.stringify(this)+"]"}},{events:17,"gl-matrix":19,underscore:20}],7:[function(require,module,exports){var Pointable=require("./pointable"),glMatrix=require("gl-matrix"),mat3=glMatrix.mat3,vec3=glMatrix.vec3,_=require("underscore");var Hand=module.exports=function(data){this.id=data.id;this.palmPosition=data.palmPosition;this.direction=data.direction;this.palmVelocity=data.palmVelocity;this.palmNormal=data.palmNormal;this.sphereCenter=data.sphereCenter;this.sphereRadius=data.sphereRadius;this.valid=true;this.pointables=[];this.fingers=[];this.tools=[];this._translation=data.t;this._rotation=_.flatten(data.r);this._scaleFactor=data.s;this.timeVisible=data.timeVisible;this.stabilizedPalmPosition=data.stabilizedPalmPosition};Hand.prototype.finger=function(id){var finger=this.frame.finger(id);return finger&&finger.handId==this.id?finger:Pointable.Invalid};Hand.prototype.rotationAngle=function(sinceFrame,axis){if(!this.valid||!sinceFrame.valid)return 0;var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return 0;var rot=this.rotationMatrix(sinceFrame);var cs=(rot[0]+rot[4]+rot[8]-1)*.5;var angle=Math.acos(cs);angle=isNaN(angle)?0:angle;if(axis!==undefined){var rotAxis=this.rotationAxis(sinceFrame);angle*=vec3.dot(rotAxis,vec3.normalize(vec3.create(),axis))}return angle};Hand.prototype.rotationAxis=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return vec3.create();return vec3.normalize(vec3.create(),[this._rotation[7]-sinceHand._rotation[5],this._rotation[2]-sinceHand._rotation[6],this._rotation[3]-sinceHand._rotation[1]])};Hand.prototype.rotationMatrix=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return mat3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return mat3.create();var transpose=mat3.transpose(mat3.create(),this._rotation);var m=mat3.multiply(mat3.create(),sinceHand._rotation,transpose);return m};Hand.prototype.scaleFactor=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return 1;var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return 1;return Math.exp(this._scaleFactor-sinceHand._scaleFactor)};Hand.prototype.translation=function(sinceFrame){if(!this.valid||!sinceFrame.valid)return vec3.create();var sinceHand=sinceFrame.hand(this.id);if(!sinceHand.valid)return vec3.create();return[this._translation[0]-sinceHand._translation[0],this._translation[1]-sinceHand._translation[1],this._translation[2]-sinceHand._translation[2]]};Hand.prototype.toString=function(){return"Hand [ id: "+this.id+" | palm velocity:"+this.palmVelocity+" | sphere center:"+this.sphereCenter+" ] "};Hand.Invalid={valid:false,fingers:[],tools:[],pointables:[],pointable:function(){return Pointable.Invalid},finger:function(){return Pointable.Invalid},toString:function(){return"invalid frame"},dump:function(){return this.toString()},rotationAngle:function(){return 0},rotationMatrix:function(){return mat3.create()},rotationAxis:function(){return vec3.create()},scaleFactor:function(){return 1},translation:function(){return vec3.create()}}},{"./pointable":11,"gl-matrix":19,underscore:20}],8:[function(require,module,exports){!function(){module.exports={Controller:require("./controller"),Frame:require("./frame"),Gesture:require("./gesture"),Hand:require("./hand"),Pointable:require("./pointable"),InteractionBox:require("./interaction_box"),Connection:require("./connection"),CircularBuffer:require("./circular_buffer"),UI:require("./ui"),glMatrix:require("gl-matrix"),mat3:require("gl-matrix").mat3,vec3:require("gl-matrix").vec3,loopController:undefined,loop:function(opts,callback){if(callback===undefined){callback=opts;opts={}}if(!this.loopController)this.loopController=new this.Controller(opts);this.loopController.loop(callback)}}}()},{"./circular_buffer":2,"./connection":3,"./controller":4,"./frame":5,"./gesture":6,"./hand":7,"./interaction_box":9,"./pointable":11,"./ui":13,"gl-matrix":19}],9:[function(require,module,exports){var glMatrix=require("gl-matrix"),vec3=glMatrix.vec3;var InteractionBox=module.exports=function(data){this.valid=true;this.center=data.center;this.size=data.size;this.width=data.size[0];this.height=data.size[1];this.depth=data.size[2]};InteractionBox.prototype.denormalizePoint=function(normalizedPosition){return vec3.fromValues((normalizedPosition[0]-.5)*this.size[0]+this.center[0],(normalizedPosition[1]-.5)*this.size[1]+this.center[1],(normalizedPosition[2]-.5)*this.size[2]+this.center[2])};InteractionBox.prototype.normalizePoint=function(position,clamp){var vec=vec3.fromValues((position[0]-this.center[0])/this.size[0]+.5,(position[1]-this.center[1])/this.size[1]+.5,(position[2]-this.center[2])/this.size[2]+.5);if(clamp){vec[0]=Math.min(Math.max(vec[0],0),1);vec[1]=Math.min(Math.max(vec[1],0),1);vec[2]=Math.min(Math.max(vec[2],0),1)}return vec};InteractionBox.prototype.toString=function(){return"InteractionBox [ width:"+this.width+" | height:"+this.height+" | depth:"+this.depth+" ]"};InteractionBox.Invalid={valid:false}},{"gl-matrix":19}],10:[function(require,module,exports){var Pipeline=module.exports=function(){this.steps=[]};Pipeline.prototype.addStep=function(step){this.steps.push(step)};Pipeline.prototype.run=function(frame){var stepsLength=this.steps.length;for(var i=0;i!=stepsLength;i++){if(!frame)break;frame=this.steps[i](frame)}return frame}},{}],11:[function(require,module,exports){var glMatrix=require("gl-matrix"),vec3=glMatrix.vec3;var Pointable=module.exports=function(data){this.valid=true;this.id=data.id;this.handId=data.handId;this.length=data.length;this.tool=data.tool;this.width=data.width;this.direction=data.direction;this.stabilizedTipPosition=data.stabilizedTipPosition;this.tipPosition=data.tipPosition;this.tipVelocity=data.tipVelocity;this.touchZone=data.touchZone;this.touchDistance=data.touchDistance;this.timeVisible=data.timeVisible};Pointable.prototype.toString=function(){if(this.tool==true){return"Pointable [ id:"+this.id+" "+this.length+"mmx | with:"+this.width+"mm | direction:"+this.direction+" ]"}else{return"Pointable [ id:"+this.id+" "+this.length+"mmx | direction: "+this.direction+" ]"}};Pointable.Invalid={valid:false}},{"gl-matrix":19}],12:[function(require,module,exports){var Frame=require("./frame");var Event=function(data){this.type=data.type;this.state=data.state};var chooseProtocol=exports.chooseProtocol=function(header){var protocol;switch(header.version){case 1:protocol=JSONProtocol(1,function(data){return new Frame(data)});break;case 2:protocol=JSONProtocol(2,function(data){return new Frame(data)});protocol.sendHeartbeat=function(connection){connection.send(protocol.encode({heartbeat:true}))};break;case 3:protocol=JSONProtocol(3,function(data){return data.event?new Event(data.event):new Frame(data)});protocol.sendHeartbeat=function(connection){connection.send(protocol.encode({heartbeat:true}))};break;default:throw"unrecognized version"}return protocol};var JSONProtocol=function(version,cb){var protocol=cb;protocol.encode=function(message){return JSON.stringify(message)};protocol.version=version;protocol.versionLong="Version "+version;protocol.type="protocol";return protocol}},{"./frame":5}],13:[function(require,module,exports){exports.UI={Region:require("./ui/region"),Cursor:require("./ui/cursor")}},{"./ui/cursor":14,"./ui/region":15}],14:[function(require,module,exports){var Cursor=module.exports=function(){return function(frame){var pointable=frame.pointables.sort(function(a,b){return a.z-b.z})[0];if(pointable&&pointable.valid){frame.cursorPosition=pointable.tipPosition}return frame}}},{}],15:[function(require,module,exports){var EventEmitter=require("events").EventEmitter,_=require("underscore");var Region=module.exports=function(start,end){this.start=new Vector(start);this.end=new Vector(end);this.enteredFrame=null};Region.prototype.hasPointables=function(frame){for(var i=0;i!=frame.pointables.length;i++){var position=frame.pointables[i].tipPosition;if(position.x>=this.start.x&&position.x<=this.end.x&&position.y>=this.start.y&&position.y<=this.end.y&&position.z>=this.start.z&&position.z<=this.end.z){return true}}return false};Region.prototype.listener=function(opts){var region=this;if(opts&&opts.nearThreshold)this.setupNearRegion(opts.nearThreshold);return function(frame){return region.updatePosition(frame)}};Region.prototype.clipper=function(){var region=this;return function(frame){region.updatePosition(frame);return region.enteredFrame?frame:null}};Region.prototype.setupNearRegion=function(distance){var nearRegion=this.nearRegion=new Region([this.start.x-distance,this.start.y-distance,this.start.z-distance],[this.end.x+distance,this.end.y+distance,this.end.z+distance]);var region=this;nearRegion.on("enter",function(frame){region.emit("near",frame)});nearRegion.on("exit",function(frame){region.emit("far",frame)});region.on("exit",function(frame){region.emit("near",frame)})};Region.prototype.updatePosition=function(frame){if(this.nearRegion)this.nearRegion.updatePosition(frame);if(this.hasPointables(frame)&&this.enteredFrame==null){this.enteredFrame=frame;this.emit("enter",this.enteredFrame)}else if(!this.hasPointables(frame)&&this.enteredFrame!=null){this.enteredFrame=null;this.emit("exit",this.enteredFrame)}return frame};Region.prototype.normalize=function(position){return new Vector([(position.x-this.start.x)/(this.end.x-this.start.x),(position.y-this.start.y)/(this.end.y-this.start.y),(position.z-this.start.z)/(this.end.z-this.start.z)])};Region.prototype.mapToXY=function(position,width,height){var normalized=this.normalize(position);var x=normalized.x,y=normalized.y;if(x>1)x=1;else if(x<-1)x=-1;if(y>1)y=1;else if(y<-1)y=-1;return[(x+1)/2*width,(1-y)/2*height,normalized.z]};_.extend(Region.prototype,EventEmitter.prototype)},{events:17,underscore:20}],16:[function(require,module,exports){},{}],17:[function(require,module,exports){!function(process){if(!process.EventEmitter)process.EventEmitter=function(){};var EventEmitter=exports.EventEmitter=process.EventEmitter;var isArray=typeof Array.isArray==="function"?Array.isArray:function(xs){return Object.prototype.toString.call(xs)==="[object Array]"};function indexOf(xs,x){if(xs.indexOf)return xs.indexOf(x);for(var i=0;i0&&this._events[type].length>m){this._events[type].warned=true;console.error("(node) warning: possible EventEmitter memory "+"leak detected. %d listeners added. "+"Use emitter.setMaxListeners() to increase limit.",this._events[type].length);console.trace()}}this._events[type].push(listener)}else{this._events[type]=[this._events[type],listener]}return this};EventEmitter.prototype.on=EventEmitter.prototype.addListener;EventEmitter.prototype.once=function(type,listener){var self=this;self.on(type,function g(){self.removeListener(type,g);listener.apply(this,arguments)});return this};EventEmitter.prototype.removeListener=function(type,listener){if("function"!==typeof listener){throw new Error("removeListener only takes instances of Function")}if(!this._events||!this._events[type])return this;var list=this._events[type];if(isArray(list)){var i=indexOf(list,listener);if(i<0)return this;list.splice(i,1);if(list.length==0)delete this._events[type]}else if(this._events[type]===listener){delete this._events[type]}return this};EventEmitter.prototype.removeAllListeners=function(type){if(arguments.length===0){this._events={};return this}if(type&&this._events&&this._events[type])this._events[type]=null;return this};EventEmitter.prototype.listeners=function(type){if(!this._events)this._events={};if(!this._events[type])this._events[type]=[];if(!isArray(this._events[type])){this._events[type]=[this._events[type]]}return this._events[type]}}(require("__browserify_process"))},{__browserify_process:18}],18:[function(require,module,exports){var process=module.exports={};process.nextTick=function(){var canSetImmediate=typeof window!=="undefined"&&window.setImmediate;var canPost=typeof window!=="undefined"&&window.postMessage&&window.addEventListener;if(canSetImmediate){return function(f){return window.setImmediate(f)}}if(canPost){var queue=[];window.addEventListener("message",function(ev){if(ev.source===window&&ev.data==="process-tick"){ev.stopPropagation();if(queue.length>0){var fn=queue.shift();fn()}}},true);return function nextTick(fn){queue.push(fn);window.postMessage("process-tick","*")}}return function nextTick(fn){setTimeout(fn,0)}}();process.title="browser";process.browser=true;process.env={};process.argv=[];process.binding=function(name){throw new Error("process.binding is not supported")};process.cwd=function(){return"/"};process.chdir=function(dir){throw new Error("process.chdir is not supported")}},{}],19:[function(require,module,exports){!function(){!function(){"use strict";var shim={};if(typeof exports==="undefined"){if(typeof define=="function"&&typeof define.amd=="object"&&define.amd){shim.exports={};define(function(){return shim.exports})}else{shim.exports=window}}else{shim.exports=exports}!function(exports){var vec2={};if(!GLMAT_EPSILON){var GLMAT_EPSILON=1e-6}vec2.create=function(){return new Float32Array(2)};vec2.clone=function(a){var out=new Float32Array(2);out[0]=a[0];out[1]=a[1];return out};vec2.fromValues=function(x,y){var out=new Float32Array(2);out[0]=x;out[1]=y;return out};vec2.copy=function(out,a){out[0]=a[0];out[1]=a[1];return out};vec2.set=function(out,x,y){out[0]=x;out[1]=y;return out};vec2.add=function(out,a,b){out[0]=a[0]+b[0];out[1]=a[1]+b[1];return out};vec2.sub=vec2.subtract=function(out,a,b){out[0]=a[0]-b[0];out[1]=a[1]-b[1];return out};vec2.mul=vec2.multiply=function(out,a,b){out[0]=a[0]*b[0];out[1]=a[1]*b[1];return out};vec2.div=vec2.divide=function(out,a,b){out[0]=a[0]/b[0];out[1]=a[1]/b[1];return out};vec2.min=function(out,a,b){out[0]=Math.min(a[0],b[0]); +out[1]=Math.min(a[1],b[1]);return out};vec2.max=function(out,a,b){out[0]=Math.max(a[0],b[0]);out[1]=Math.max(a[1],b[1]);return out};vec2.scale=function(out,a,b){out[0]=a[0]*b;out[1]=a[1]*b;return out};vec2.dist=vec2.distance=function(a,b){var x=b[0]-a[0],y=b[1]-a[1];return Math.sqrt(x*x+y*y)};vec2.sqrDist=vec2.squaredDistance=function(a,b){var x=b[0]-a[0],y=b[1]-a[1];return x*x+y*y};vec2.len=vec2.length=function(a){var x=a[0],y=a[1];return Math.sqrt(x*x+y*y)};vec2.sqrLen=vec2.squaredLength=function(a){var x=a[0],y=a[1];return x*x+y*y};vec2.negate=function(out,a){out[0]=-a[0];out[1]=-a[1];return out};vec2.normalize=function(out,a){var x=a[0],y=a[1];var len=x*x+y*y;if(len>0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len}return out};vec2.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]};vec2.cross=function(out,a,b){var z=a[0]*b[1]-a[1]*b[0];out[0]=out[1]=0;out[2]=z;return out};vec2.lerp=function(out,a,b,t){var ax=a[0],ay=a[1];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);return out};vec2.transformMat2=function(out,a,m){var x=a[0],y=a[1];out[0]=x*m[0]+y*m[1];out[1]=x*m[2]+y*m[3];return out};vec2.forEach=function(){var vec=new Float32Array(2);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=2}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len}return out};vec3.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]};vec3.cross=function(out,a,b){var ax=a[0],ay=a[1],az=a[2],bx=b[0],by=b[1],bz=b[2];out[0]=ay*bz-az*by;out[1]=az*bx-ax*bz;out[2]=ax*by-ay*bx;return out};vec3.lerp=function(out,a,b,t){var ax=a[0],ay=a[1],az=a[2];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);return out};vec3.transformMat4=function(out,a,m){var x=a[0],y=a[1],z=a[2];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12];out[1]=m[1]*x+m[5]*y+m[9]*z+m[13];out[2]=m[2]*x+m[6]*y+m[10]*z+m[14];return out};vec3.transformQuat=function(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;return out};vec3.forEach=function(){var vec=new Float32Array(3);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=3}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i0){len=1/Math.sqrt(len);out[0]=a[0]*len;out[1]=a[1]*len;out[2]=a[2]*len;out[3]=a[3]*len}return out};vec4.dot=function(a,b){return a[0]*b[0]+a[1]*b[1]+a[2]*b[2]+a[3]*b[3]};vec4.lerp=function(out,a,b,t){var ax=a[0],ay=a[1],az=a[2],aw=a[3];out[0]=ax+t*(b[0]-ax);out[1]=ay+t*(b[1]-ay);out[2]=az+t*(b[2]-az);out[3]=aw+t*(b[3]-aw);return out};vec4.transformMat4=function(out,a,m){var x=a[0],y=a[1],z=a[2],w=a[3];out[0]=m[0]*x+m[4]*y+m[8]*z+m[12]*w;out[1]=m[1]*x+m[5]*y+m[9]*z+m[13]*w;out[2]=m[2]*x+m[6]*y+m[10]*z+m[14]*w;out[3]=m[3]*x+m[7]*y+m[11]*z+m[15]*w;return out};vec4.transformQuat=function(out,a,q){var x=a[0],y=a[1],z=a[2],qx=q[0],qy=q[1],qz=q[2],qw=q[3],ix=qw*x+qy*z-qz*y,iy=qw*y+qz*x-qx*z,iz=qw*z+qx*y-qy*x,iw=-qx*x-qy*y-qz*z;out[0]=ix*qw+iw*-qx+iy*-qz-iz*-qy;out[1]=iy*qw+iw*-qy+iz*-qx-ix*-qz;out[2]=iz*qw+iw*-qz+ix*-qy-iy*-qx;return out};vec4.forEach=function(){var vec=new Float32Array(4);return function(a,stride,offset,count,fn,arg){var i,l;if(!stride){stride=4}if(!offset){offset=0}if(count){l=Math.min(count*stride+offset,a.length)}else{l=a.length}for(i=offset;i=1){if(out!==a){out[0]=ax;out[1]=ay;out[2]=az;out[3]=aw}return out}halfTheta=Math.acos(cosHalfTheta);sinHalfTheta=Math.sqrt(1-cosHalfTheta*cosHalfTheta);if(Math.abs(sinHalfTheta)<.001){out[0]=ax*.5+bx*.5;out[1]=ay*.5+by*.5;out[2]=az*.5+bz*.5;out[3]=aw*.5+bw*.5;return out}ratioA=Math.sin((1-t)*halfTheta)/sinHalfTheta;ratioB=Math.sin(t*halfTheta)/sinHalfTheta;out[0]=ax*ratioA+bx*ratioB;out[1]=ay*ratioA+by*ratioB;out[2]=az*ratioA+bz*ratioB;out[3]=aw*ratioA+bw*ratioB;return out};quat.invert=function(out,a){var a0=a[0],a1=a[1],a2=a[2],a3=a[3],dot=a0*a0+a1*a1+a2*a2+a3*a3,invDot=dot?1/dot:0;out[0]=-a0*invDot;out[1]=-a1*invDot;out[2]=-a2*invDot;out[3]=a3*invDot;return out};quat.conjugate=function(out,a){out[0]=-a[0];out[1]=-a[1];out[2]=-a[2];out[3]=a[3];return out};quat.len=quat.length=vec4.length;quat.sqrLen=quat.squaredLength=vec4.squaredLength;quat.normalize=vec4.normalize;quat.str=function(a){return"quat("+a[0]+", "+a[1]+", "+a[2]+", "+a[3]+")"};if(typeof exports!=="undefined"){exports.quat=quat}}(shim.exports)}()}()},{}],20:[function(require,module,exports){!function(){!function(){var root=this;var previousUnderscore=root._;var breaker={};var ArrayProto=Array.prototype,ObjProto=Object.prototype,FuncProto=Function.prototype;var push=ArrayProto.push,slice=ArrayProto.slice,concat=ArrayProto.concat,toString=ObjProto.toString,hasOwnProperty=ObjProto.hasOwnProperty;var nativeForEach=ArrayProto.forEach,nativeMap=ArrayProto.map,nativeReduce=ArrayProto.reduce,nativeReduceRight=ArrayProto.reduceRight,nativeFilter=ArrayProto.filter,nativeEvery=ArrayProto.every,nativeSome=ArrayProto.some,nativeIndexOf=ArrayProto.indexOf,nativeLastIndexOf=ArrayProto.lastIndexOf,nativeIsArray=Array.isArray,nativeKeys=Object.keys,nativeBind=FuncProto.bind;var _=function(obj){if(obj instanceof _)return obj;if(!(this instanceof _))return new _(obj);this._wrapped=obj};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports){exports=module.exports=_}exports._=_}else{root._=_}_.VERSION="1.4.4";var each=_.each=_.forEach=function(obj,iterator,context){if(obj==null)return;if(nativeForEach&&obj.forEach===nativeForEach){obj.forEach(iterator,context)}else if(obj.length===+obj.length){for(var i=0,l=obj.length;i2;if(obj==null)obj=[];if(nativeReduce&&obj.reduce===nativeReduce){if(context)iterator=_.bind(iterator,context);return initial?obj.reduce(iterator,memo):obj.reduce(iterator)}each(obj,function(value,index,list){if(!initial){memo=value;initial=true}else{memo=iterator.call(context,memo,value,index,list)}});if(!initial)throw new TypeError(reduceError);return memo};_.reduceRight=_.foldr=function(obj,iterator,memo,context){var initial=arguments.length>2;if(obj==null)obj=[];if(nativeReduceRight&&obj.reduceRight===nativeReduceRight){if(context)iterator=_.bind(iterator,context);return initial?obj.reduceRight(iterator,memo):obj.reduceRight(iterator)}var length=obj.length;if(length!==+length){var keys=_.keys(obj);length=keys.length}each(obj,function(value,index,list){index=keys?keys[--length]:--length;if(!initial){memo=obj[index];initial=true}else{memo=iterator.call(context,memo,obj[index],index,list)}});if(!initial)throw new TypeError(reduceError);return memo};_.find=_.detect=function(obj,iterator,context){var result;any(obj,function(value,index,list){if(iterator.call(context,value,index,list)){result=value;return true}});return result};_.filter=_.select=function(obj,iterator,context){var results=[];if(obj==null)return results;if(nativeFilter&&obj.filter===nativeFilter)return obj.filter(iterator,context);each(obj,function(value,index,list){if(iterator.call(context,value,index,list))results[results.length]=value});return results};_.reject=function(obj,iterator,context){return _.filter(obj,function(value,index,list){return!iterator.call(context,value,index,list)},context)};_.every=_.all=function(obj,iterator,context){iterator||(iterator=_.identity);var result=true;if(obj==null)return result;if(nativeEvery&&obj.every===nativeEvery)return obj.every(iterator,context);each(obj,function(value,index,list){if(!(result=result&&iterator.call(context,value,index,list)))return breaker});return!!result};var any=_.some=_.any=function(obj,iterator,context){iterator||(iterator=_.identity);var result=false;if(obj==null)return result;if(nativeSome&&obj.some===nativeSome)return obj.some(iterator,context);each(obj,function(value,index,list){if(result||(result=iterator.call(context,value,index,list)))return breaker});return!!result};_.contains=_.include=function(obj,target){if(obj==null)return false;if(nativeIndexOf&&obj.indexOf===nativeIndexOf)return obj.indexOf(target)!=-1;return any(obj,function(value){return value===target})};_.invoke=function(obj,method){var args=slice.call(arguments,2);var isFunc=_.isFunction(method);return _.map(obj,function(value){return(isFunc?method:value[method]).apply(value,args)})};_.pluck=function(obj,key){return _.map(obj,function(value){return value[key]})};_.where=function(obj,attrs,first){if(_.isEmpty(attrs))return first?null:[];return _[first?"find":"filter"](obj,function(value){for(var key in attrs){if(attrs[key]!==value[key])return false}return true})};_.findWhere=function(obj,attrs){return _.where(obj,attrs,true)};_.max=function(obj,iterator,context){if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]&&obj.length<65535){return Math.max.apply(Math,obj)}if(!iterator&&_.isEmpty(obj))return-Infinity;var result={computed:-Infinity,value:-Infinity};each(obj,function(value,index,list){var computed=iterator?iterator.call(context,value,index,list):value;computed>=result.computed&&(result={value:value,computed:computed})});return result.value};_.min=function(obj,iterator,context){if(!iterator&&_.isArray(obj)&&obj[0]===+obj[0]&&obj.length<65535){return Math.min.apply(Math,obj)}if(!iterator&&_.isEmpty(obj))return Infinity;var result={computed:Infinity,value:Infinity};each(obj,function(value,index,list){var computed=iterator?iterator.call(context,value,index,list):value;computedb||a===void 0)return 1;if(a>>1;iterator.call(context,array[mid])=0})})};_.difference=function(array){var rest=concat.apply(ArrayProto,slice.call(arguments,1));return _.filter(array,function(value){return!_.contains(rest,value)})};_.zip=function(){var args=slice.call(arguments);var length=_.max(_.pluck(args,"length"));var results=new Array(length);for(var i=0;i=0;i--){args=[funcs[i].apply(this,args)]}return args[0]}};_.after=function(times,func){if(times<=0)return func();return function(){if(--times<1){return func.apply(this,arguments)}}};_.keys=nativeKeys||function(obj){if(obj!==Object(obj))throw new TypeError("Invalid object");var keys=[];for(var key in obj)if(_.has(obj,key))keys[keys.length]=key;return keys};_.values=function(obj){var values=[];for(var key in obj)if(_.has(obj,key))values.push(obj[key]);return values};_.pairs=function(obj){var pairs=[];for(var key in obj)if(_.has(obj,key))pairs.push([key,obj[key]]);return pairs};_.invert=function(obj){var result={};for(var key in obj)if(_.has(obj,key))result[obj[key]]=key;return result};_.functions=_.methods=function(obj){var names=[];for(var key in obj){if(_.isFunction(obj[key]))names.push(key)}return names.sort()};_.extend=function(obj){each(slice.call(arguments,1),function(source){if(source){for(var prop in source){obj[prop]=source[prop]}}});return obj};_.pick=function(obj){var copy={};var keys=concat.apply(ArrayProto,slice.call(arguments,1));each(keys,function(key){if(key in obj)copy[key]=obj[key]});return copy};_.omit=function(obj){var copy={};var keys=concat.apply(ArrayProto,slice.call(arguments,1));for(var key in obj){if(!_.contains(keys,key))copy[key]=obj[key]}return copy};_.defaults=function(obj){each(slice.call(arguments,1),function(source){if(source){for(var prop in source){if(obj[prop]==null)obj[prop]=source[prop]}}});return obj};_.clone=function(obj){if(!_.isObject(obj))return obj;return _.isArray(obj)?obj.slice():_.extend({},obj)};_.tap=function(obj,interceptor){interceptor(obj);return obj};var eq=function(a,b,aStack,bStack){if(a===b)return a!==0||1/a==1/b;if(a==null||b==null)return a===b;if(a instanceof _)a=a._wrapped;if(b instanceof _)b=b._wrapped;var className=toString.call(a);if(className!=toString.call(b))return false;switch(className){case"[object String]":return a==String(b);case"[object Number]":return a!=+a?b!=+b:a==0?1/a==1/b:a==+b;case"[object Date]":case"[object Boolean]":return+a==+b;case"[object RegExp]":return a.source==b.source&&a.global==b.global&&a.multiline==b.multiline&&a.ignoreCase==b.ignoreCase}if(typeof a!="object"||typeof b!="object")return false;var length=aStack.length;while(length--){if(aStack[length]==a)return bStack[length]==b}aStack.push(a);bStack.push(b);var size=0,result=true;if(className=="[object Array]"){size=a.length;result=size==b.length;if(result){while(size--){if(!(result=eq(a[size],b[size],aStack,bStack)))break}}}else{var aCtor=a.constructor,bCtor=b.constructor;if(aCtor!==bCtor&&!(_.isFunction(aCtor)&&aCtor instanceof aCtor&&_.isFunction(bCtor)&&bCtor instanceof bCtor)){return false}for(var key in a){if(_.has(a,key)){size++;if(!(result=_.has(b,key)&&eq(a[key],b[key],aStack,bStack)))break}}if(result){for(key in b){if(_.has(b,key)&&!size--)break}result=!size}}aStack.pop();bStack.pop();return result};_.isEqual=function(a,b){return eq(a,b,[],[])};_.isEmpty=function(obj){if(obj==null)return true;if(_.isArray(obj)||_.isString(obj))return obj.length===0;for(var key in obj)if(_.has(obj,key))return false;return true};_.isElement=function(obj){return!!(obj&&obj.nodeType===1)};_.isArray=nativeIsArray||function(obj){return toString.call(obj)=="[object Array]"};_.isObject=function(obj){return obj===Object(obj)};each(["Arguments","Function","String","Number","Date","RegExp"],function(name){_["is"+name]=function(obj){return toString.call(obj)=="[object "+name+"]"}});if(!_.isArguments(arguments)){_.isArguments=function(obj){return!!(obj&&_.has(obj,"callee"))}}if(typeof/./!=="function"){_.isFunction=function(obj){return typeof obj==="function"}}_.isFinite=function(obj){return isFinite(obj)&&!isNaN(parseFloat(obj))};_.isNaN=function(obj){return _.isNumber(obj)&&obj!=+obj};_.isBoolean=function(obj){return obj===true||obj===false||toString.call(obj)=="[object Boolean]"};_.isNull=function(obj){return obj===null};_.isUndefined=function(obj){return obj===void 0};_.has=function(obj,key){return hasOwnProperty.call(obj,key)};_.noConflict=function(){root._=previousUnderscore;return this};_.identity=function(value){return value};_.times=function(n,iterator,context){var accum=Array(n);for(var i=0;i":">",'"':""","'":"'","/":"/"}};entityMap.unescape=_.invert(entityMap.escape);var entityRegexes={escape:new RegExp("["+_.keys(entityMap.escape).join("")+"]","g"),unescape:new RegExp("("+_.keys(entityMap.unescape).join("|")+")","g")};_.each(["escape","unescape"],function(method){_[method]=function(string){if(string==null)return"";return(""+string).replace(entityRegexes[method],function(match){return entityMap[method][match]})}});_.result=function(object,property){if(object==null)return null;var value=object[property];return _.isFunction(value)?value.call(object):value};_.mixin=function(obj){each(_.functions(obj),function(name){var func=_[name]=obj[name];_.prototype[name]=function(){var args=[this._wrapped];push.apply(args,arguments);return result.call(this,func.apply(_,args))}})};var idCounter=0;_.uniqueId=function(prefix){var id=++idCounter+"";return prefix?prefix+id:id};_.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var noMatch=/(.)^/;var escapes={"'":"'","\\":"\\","\r":"r","\n":"n"," ":"t","\u2028":"u2028","\u2029":"u2029"};var escaper=/\\|'|\r|\n|\t|\u2028|\u2029/g;_.template=function(text,data,settings){var render;settings=_.defaults({},settings,_.templateSettings);var matcher=new RegExp([(settings.escape||noMatch).source,(settings.interpolate||noMatch).source,(settings.evaluate||noMatch).source].join("|")+"|$","g");var index=0;var source="__p+='";text.replace(matcher,function(match,escape,interpolate,evaluate,offset){source+=text.slice(index,offset).replace(escaper,function(match){return"\\"+escapes[match]});if(escape){source+="'+\n((__t=("+escape+"))==null?'':_.escape(__t))+\n'"}if(interpolate){source+="'+\n((__t=("+interpolate+"))==null?'':__t)+\n'"}if(evaluate){source+="';\n"+evaluate+"\n__p+='"}index=offset+match.length;return match});source+="';\n";if(!settings.variable)source="with(obj||{}){\n"+source+"}\n";source="var __t,__p='',__j=Array.prototype.join,"+"print=function(){__p+=__j.call(arguments,'');};\n"+source+"return __p;\n";try{render=new Function(settings.variable||"obj","_",source)}catch(e){e.source=source;throw e}if(data)return render(data,_);var template=function(data){return render.call(this,data,_)};template.source="function("+(settings.variable||"obj")+"){\n"+source+"}";return template};_.chain=function(obj){return _(obj).chain()};var result=function(obj){return this._chain?_(obj).chain():obj};_.mixin(_);each(["pop","push","reverse","shift","sort","splice","unshift"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){var obj=this._wrapped;method.apply(obj,arguments);if((name=="shift"||name=="splice")&&obj.length===0)delete obj[0];return result.call(this,obj)}});each(["concat","join","slice"],function(name){var method=ArrayProto[name];_.prototype[name]=function(){return result.call(this,method.apply(this._wrapped,arguments))}});_.extend(_.prototype,{chain:function(){this._chain=true;return this},value:function(){return this._wrapped}})}.call(this)}()},{}],21:[function(require,module,exports){window.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(callback){window.setTimeout(callback,1e3/60)}}();Leap=require("../lib/index")},{"../lib/index":8}]},{},[21]); + +/* + * Leap Motion integration for Reveal.js. + * James Sun [sun16] + * Rory Hardy [gneatgeek] + */ + +(function () { + var body = document.body, + controller = new Leap.Controller({ enableGestures: true }), + lastGesture = 0, + leapConfig = Reveal.getConfig().leap, + pointer = document.createElement( 'div' ), + config = { + autoCenter : true, // Center pointer around detected position. + gestureDelay : 500, // How long to delay between gestures. + naturalSwipe : true, // Swipe as if it were a touch screen. + pointerColor : '#00aaff', // Default color of the pointer. + pointerOpacity : 0.7, // Default opacity of the pointer. + pointerSize : 15, // Default minimum height/width of the pointer. + pointerTolerance : 120 // Bigger = slower pointer. + }, + entered, enteredPosition, now, size, tipPosition; // Other vars we need later, but don't need to redeclare. + + // Merge user defined settings with defaults + if( leapConfig ) { + for( key in leapConfig ) { + config[key] = leapConfig[key]; + } + } + + pointer.id = 'leap'; + + pointer.style.position = 'absolute'; + pointer.style.visibility = 'hidden'; + pointer.style.zIndex = 50; + pointer.style.opacity = config.pointerOpacity; + pointer.style.backgroundColor = config.pointerColor; + + body.appendChild( pointer ); + + // Leap's loop + controller.on( 'frame', function ( frame ) { + // Timing code to rate limit gesture execution + now = new Date().getTime(); + + // Pointer: 1 to 2 fingers. Strictly one finger works but may cause innaccuracies. + // The innaccuracies were observed on a development model and may not be an issue with consumer models. + if( frame.fingers.length > 0 && frame.fingers.length < 3 ) { + // Invert direction and multiply by 3 for greater effect. + size = -3 * frame.fingers[0].tipPosition[2]; + + if( size < config.pointerSize ) { + size = config.pointerSize; + } + + pointer.style.width = size + 'px'; + pointer.style.height = size + 'px'; + pointer.style.borderRadius = size - 5 + 'px'; + pointer.style.visibility = 'visible'; + + tipPosition = frame.fingers[0].tipPosition; + + if( config.autoCenter ) { + + + // Check whether the finger has entered the z range of the Leap Motion. Used for the autoCenter option. + if( !entered ) { + entered = true; + enteredPosition = frame.fingers[0].tipPosition; + } + + pointer.style.top = + (-1 * (( tipPosition[1] - enteredPosition[1] ) * body.offsetHeight / config.pointerTolerance )) + + ( body.offsetHeight / 2 ) + 'px'; + + pointer.style.left = + (( tipPosition[0] - enteredPosition[0] ) * body.offsetWidth / config.pointerTolerance ) + + ( body.offsetWidth / 2 ) + 'px'; + } + else { + pointer.style.top = ( 1 - (( tipPosition[1] - 50) / config.pointerTolerance )) * + body.offsetHeight + 'px'; + + pointer.style.left = ( tipPosition[0] * body.offsetWidth / config.pointerTolerance ) + + ( body.offsetWidth / 2 ) + 'px'; + } + } + else { + // Hide pointer on exit + entered = false; + pointer.style.visibility = 'hidden'; + } + + // Gestures + if( frame.gestures.length > 0 && (now - lastGesture) > config.gestureDelay ) { + var gesture = frame.gestures[0]; + + // One hand gestures + if( frame.hands.length === 1 ) { + // Swipe gestures. 3+ fingers. + if( frame.fingers.length > 2 && gesture.type === 'swipe' ) { + // Define here since some gestures will throw undefined for these. + var x = gesture.direction[0], + y = gesture.direction[1]; + + // Left/right swipe gestures + if( Math.abs( x ) > Math.abs( y )) { + if( x > 0 ) { + config.naturalSwipe ? Reveal.left() : Reveal.right(); + } + else { + config.naturalSwipe ? Reveal.right() : Reveal.left(); + } + } + // Up/down swipe gestures + else { + if( y > 0 ) { + config.naturalSwipe ? Reveal.down() : Reveal.up(); + } + else { + config.naturalSwipe ? Reveal.up() : Reveal.down(); + } + } + + lastGesture = now; + } + } + // Two hand gestures + else if( frame.hands.length === 2 ) { + // Upward two hand swipe gesture + if( gesture.type === 'swipe' && gesture.direction[1] > 0 ) { + Reveal.toggleOverview(); + } + + lastGesture = now; + } + } + }); + + controller.connect(); +})(); diff --git a/presentation/plugin/markdown/example.html b/presentation/plugin/markdown/example.html new file mode 100644 index 000000000..364e866f9 --- /dev/null +++ b/presentation/plugin/markdown/example.html @@ -0,0 +1,129 @@ + + + + + + + reveal.js - Markdown Demo + + + + + + + + + +
+ +
+ + +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ + +
+ +
+ +
+
+ + + + + + + + diff --git a/presentation/plugin/markdown/example.md b/presentation/plugin/markdown/example.md new file mode 100644 index 000000000..6f6f577a1 --- /dev/null +++ b/presentation/plugin/markdown/example.md @@ -0,0 +1,31 @@ +# Markdown Demo + + + +## External 1.1 + +Content 1.1 + +Note: This will only appear in the speaker notes window. + + +## External 1.2 + +Content 1.2 + + + +## External 2 + +Content 2.1 + + + +## External 3.1 + +Content 3.1 + + +## External 3.2 + +Content 3.2 diff --git a/presentation/plugin/markdown/markdown.js b/presentation/plugin/markdown/markdown.js new file mode 100755 index 000000000..9afee065f --- /dev/null +++ b/presentation/plugin/markdown/markdown.js @@ -0,0 +1,393 @@ +/** + * The reveal.js markdown plugin. Handles parsing of + * markdown inside of presentations as well as loading + * of external markdown documents. + */ +(function( root, factory ) { + if( typeof exports === 'object' ) { + module.exports = factory( require( './marked' ) ); + } + else { + // Browser globals (root is window) + root.RevealMarkdown = factory( root.marked ); + root.RevealMarkdown.initialize(); + } +}( this, function( marked ) { + + if( typeof marked === 'undefined' ) { + throw 'The reveal.js Markdown plugin requires marked to be loaded'; + } + + if( typeof hljs !== 'undefined' ) { + marked.setOptions({ + highlight: function( lang, code ) { + return hljs.highlightAuto( lang, code ).value; + } + }); + } + + var DEFAULT_SLIDE_SEPARATOR = '^\n---\n$', + DEFAULT_NOTES_SEPARATOR = 'note:', + DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR = '\\\.element\\\s*?(.+?)$', + DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR = '\\\.slide:\\\s*?(\\\S.+?)$'; + + + /** + * Retrieves the markdown contents of a slide section + * element. Normalizes leading tabs/whitespace. + */ + function getMarkdownFromSlide( section ) { + + var template = section.querySelector( 'script' ); + + // strip leading whitespace so it isn't evaluated as code + var text = ( template || section ).textContent; + + var leadingWs = text.match( /^\n?(\s*)/ )[1].length, + leadingTabs = text.match( /^\n?(\t*)/ )[1].length; + + if( leadingTabs > 0 ) { + text = text.replace( new RegExp('\\n?\\t{' + leadingTabs + '}','g'), '\n' ); + } + else if( leadingWs > 1 ) { + text = text.replace( new RegExp('\\n? {' + leadingWs + '}'), '\n' ); + } + + return text; + + } + + /** + * Given a markdown slide section element, this will + * return all arguments that aren't related to markdown + * parsing. Used to forward any other user-defined arguments + * to the output markdown slide. + */ + function getForwardedAttributes( section ) { + + var attributes = section.attributes; + var result = []; + + for( var i = 0, len = attributes.length; i < len; i++ ) { + var name = attributes[i].name, + value = attributes[i].value; + + // disregard attributes that are used for markdown loading/parsing + if( /data\-(markdown|separator|vertical|notes)/gi.test( name ) ) continue; + + if( value ) { + result.push( name + '=' + value ); + } + else { + result.push( name ); + } + } + + return result.join( ' ' ); + + } + + /** + * Inspects the given options and fills out default + * values for what's not defined. + */ + function getSlidifyOptions( options ) { + + options = options || {}; + options.separator = options.separator || DEFAULT_SLIDE_SEPARATOR; + options.notesSeparator = options.notesSeparator || DEFAULT_NOTES_SEPARATOR; + options.attributes = options.attributes || ''; + + return options; + + } + + /** + * Helper function for constructing a markdown slide. + */ + function createMarkdownSlide( content, options ) { + + options = getSlidifyOptions( options ); + + var notesMatch = content.split( new RegExp( options.notesSeparator, 'mgi' ) ); + + if( notesMatch.length === 2 ) { + content = notesMatch[0] + ''; + } + + return ''; + + } + + /** + * Parses a data string into multiple slides based + * on the passed in separator arguments. + */ + function slidify( markdown, options ) { + + options = getSlidifyOptions( options ); + + var separatorRegex = new RegExp( options.separator + ( options.verticalSeparator ? '|' + options.verticalSeparator : '' ), 'mg' ), + horizontalSeparatorRegex = new RegExp( options.separator ); + + var matches, + lastIndex = 0, + isHorizontal, + wasHorizontal = true, + content, + sectionStack = []; + + // iterate until all blocks between separators are stacked up + while( matches = separatorRegex.exec( markdown ) ) { + notes = null; + + // determine direction (horizontal by default) + isHorizontal = horizontalSeparatorRegex.test( matches[0] ); + + if( !isHorizontal && wasHorizontal ) { + // create vertical stack + sectionStack.push( [] ); + } + + // pluck slide content from markdown input + content = markdown.substring( lastIndex, matches.index ); + + if( isHorizontal && wasHorizontal ) { + // add to horizontal stack + sectionStack.push( content ); + } + else { + // add to vertical stack + sectionStack[sectionStack.length-1].push( content ); + } + + lastIndex = separatorRegex.lastIndex; + wasHorizontal = isHorizontal; + } + + // add the remaining slide + ( wasHorizontal ? sectionStack : sectionStack[sectionStack.length-1] ).push( markdown.substring( lastIndex ) ); + + var markdownSections = ''; + + // flatten the hierarchical stack, and insert
tags + for( var i = 0, len = sectionStack.length; i < len; i++ ) { + // vertical + if( sectionStack[i] instanceof Array ) { + markdownSections += '
'; + + sectionStack[i].forEach( function( child ) { + markdownSections += '
' + createMarkdownSlide( child, options ) + '
'; + } ); + + markdownSections += '
'; + } + else { + markdownSections += '
' + createMarkdownSlide( sectionStack[i], options ) + '
'; + } + } + + return markdownSections; + + } + + /** + * Parses any current data-markdown slides, splits + * multi-slide markdown into separate sections and + * handles loading of external markdown. + */ + function processSlides() { + + var sections = document.querySelectorAll( '[data-markdown]'), + section; + + for( var i = 0, len = sections.length; i < len; i++ ) { + + section = sections[i]; + + if( section.getAttribute( 'data-markdown' ).length ) { + + var xhr = new XMLHttpRequest(), + url = section.getAttribute( 'data-markdown' ); + + datacharset = section.getAttribute( 'data-charset' ); + + // see https://developer.mozilla.org/en-US/docs/Web/API/element.getAttribute#Notes + if( datacharset != null && datacharset != '' ) { + xhr.overrideMimeType( 'text/html; charset=' + datacharset ); + } + + xhr.onreadystatechange = function() { + if( xhr.readyState === 4 ) { + // file protocol yields status code 0 (useful for local debug, mobile applications etc.) + if ( ( xhr.status >= 200 && xhr.status < 300 ) || xhr.status === 0 ) { + + section.outerHTML = slidify( xhr.responseText, { + separator: section.getAttribute( 'data-separator' ), + verticalSeparator: section.getAttribute( 'data-separator-vertical' ), + notesSeparator: section.getAttribute( 'data-separator-notes' ), + attributes: getForwardedAttributes( section ) + }); + + } + else { + + section.outerHTML = '
' + + 'ERROR: The attempt to fetch ' + url + ' failed with HTTP status ' + xhr.status + '.' + + 'Check your browser\'s JavaScript console for more details.' + + '

Remember that you need to serve the presentation HTML from a HTTP server.

' + + '
'; + + } + } + }; + + xhr.open( 'GET', url, false ); + + try { + xhr.send(); + } + catch ( e ) { + alert( 'Failed to get the Markdown file ' + url + '. Make sure that the presentation and the file are served by a HTTP server and the file can be found there. ' + e ); + } + + } + else if( section.getAttribute( 'data-separator' ) || section.getAttribute( 'data-separator-vertical' ) || section.getAttribute( 'data-separator-notes' ) ) { + + section.outerHTML = slidify( getMarkdownFromSlide( section ), { + separator: section.getAttribute( 'data-separator' ), + verticalSeparator: section.getAttribute( 'data-separator-vertical' ), + notesSeparator: section.getAttribute( 'data-separator-notes' ), + attributes: getForwardedAttributes( section ) + }); + + } + else { + section.innerHTML = createMarkdownSlide( getMarkdownFromSlide( section ) ); + } + } + + } + + /** + * Check if a node value has the attributes pattern. + * If yes, extract it and add that value as one or several attributes + * the the terget element. + * + * You need Cache Killer on Chrome to see the effect on any FOM transformation + * directly on refresh (F5) + * http://stackoverflow.com/questions/5690269/disabling-chrome-cache-for-website-development/7000899#answer-11786277 + */ + function addAttributeInElement( node, elementTarget, separator ) { + + var mardownClassesInElementsRegex = new RegExp( separator, 'mg' ); + var mardownClassRegex = new RegExp( "([^\"= ]+?)=\"([^\"=]+?)\"", 'mg' ); + var nodeValue = node.nodeValue; + if( matches = mardownClassesInElementsRegex.exec( nodeValue ) ) { + + var classes = matches[1]; + nodeValue = nodeValue.substring( 0, matches.index ) + nodeValue.substring( mardownClassesInElementsRegex.lastIndex ); + node.nodeValue = nodeValue; + while( matchesClass = mardownClassRegex.exec( classes ) ) { + elementTarget.setAttribute( matchesClass[1], matchesClass[2] ); + } + return true; + } + return false; + } + + /** + * Add attributes to the parent element of a text node, + * or the element of an attribute node. + */ + function addAttributes( section, element, previousElement, separatorElementAttributes, separatorSectionAttributes ) { + + if ( element != null && element.childNodes != undefined && element.childNodes.length > 0 ) { + previousParentElement = element; + for( var i = 0; i < element.childNodes.length; i++ ) { + childElement = element.childNodes[i]; + if ( i > 0 ) { + j = i - 1; + while ( j >= 0 ) { + aPreviousChildElement = element.childNodes[j]; + if ( typeof aPreviousChildElement.setAttribute == 'function' && aPreviousChildElement.tagName != "BR" ) { + previousParentElement = aPreviousChildElement; + break; + } + j = j - 1; + } + } + parentSection = section; + if( childElement.nodeName == "section" ) { + parentSection = childElement ; + previousParentElement = childElement ; + } + if ( typeof childElement.setAttribute == 'function' || childElement.nodeType == Node.COMMENT_NODE ) { + addAttributes( parentSection, childElement, previousParentElement, separatorElementAttributes, separatorSectionAttributes ); + } + } + } + + if ( element.nodeType == Node.COMMENT_NODE ) { + if ( addAttributeInElement( element, previousElement, separatorElementAttributes ) == false ) { + addAttributeInElement( element, section, separatorSectionAttributes ); + } + } + } + + /** + * Converts any current data-markdown slides in the + * DOM to HTML. + */ + function convertSlides() { + + var sections = document.querySelectorAll( '[data-markdown]'); + + for( var i = 0, len = sections.length; i < len; i++ ) { + + var section = sections[i]; + + // Only parse the same slide once + if( !section.getAttribute( 'data-markdown-parsed' ) ) { + + section.setAttribute( 'data-markdown-parsed', true ) + + var notes = section.querySelector( 'aside.notes' ); + var markdown = getMarkdownFromSlide( section ); + + section.innerHTML = marked( markdown ); + addAttributes( section, section, null, section.getAttribute( 'data-element-attributes' ) || + section.parentNode.getAttribute( 'data-element-attributes' ) || + DEFAULT_ELEMENT_ATTRIBUTES_SEPARATOR, + section.getAttribute( 'data-attributes' ) || + section.parentNode.getAttribute( 'data-attributes' ) || + DEFAULT_SLIDE_ATTRIBUTES_SEPARATOR); + + // If there were notes, we need to re-add them after + // having overwritten the section's HTML + if( notes ) { + section.appendChild( notes ); + } + + } + + } + + } + + // API + return { + + initialize: function() { + processSlides(); + convertSlides(); + }, + + // TODO: Do these belong in the API? + processSlides: processSlides, + convertSlides: convertSlides, + slidify: slidify + + }; + +})); diff --git a/presentation/plugin/markdown/marked.js b/presentation/plugin/markdown/marked.js new file mode 100644 index 000000000..ca558fb48 --- /dev/null +++ b/presentation/plugin/markdown/marked.js @@ -0,0 +1,37 @@ +/** + * marked - a markdown parser + * Copyright (c) 2011-2013, Christopher Jeffrey. (MIT Licensed) + * https://github.com/chjj/marked + */ + +(function(){var block={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:noop,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,nptable:noop,lheading:/^([^\n]+)\n *(=|-){3,} *\n*/,blockquote:/^( *>[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [\s\S]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *]+)>?(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,table:noop,paragraph:/^((?:[^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+)\n*/, +text:/^[^\n]+/};block.bullet=/(?:[*+-]|\d+\.)/;block.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/;block.item=replace(block.item,"gm")(/bull/g,block.bullet)();block.list=replace(block.list)(/bull/g,block.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)();block._tag="(?!(?:"+"a|em|strong|small|s|cite|q|dfn|abbr|data|time|code"+"|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo"+"|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b";block.html=replace(block.html)("comment",/\x3c!--[\s\S]*?--\x3e/)("closed", +/<(tag)[\s\S]+?<\/\1>/)("closing",/])*?>/)(/tag/g,block._tag)();block.paragraph=replace(block.paragraph)("hr",block.hr)("heading",block.heading)("lheading",block.lheading)("blockquote",block.blockquote)("tag","<"+block._tag)("def",block.def)();block.normal=merge({},block);block.gfm=merge({},block.normal,{fences:/^ *(`{3,}|~{3,}) *(\S+)? *\n([\s\S]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/});block.gfm.paragraph=replace(block.paragraph)("(?!","(?!"+block.gfm.fences.source.replace("\\1", +"\\2")+"|")();block.tables=merge({},block.gfm,{nptable:/^ *(\S.*\|.*)\n *([-:]+ *\|[-| :]*)\n((?:.*\|.*(?:\n|$))*)\n*/,table:/^ *\|(.+)\n *\|( *[-:]+[-| :]*)\n((?: *\|.*(?:\n|$))*)\n*/});function Lexer(options){this.tokens=[];this.tokens.links={};this.options=options||marked.defaults;this.rules=block.normal;if(this.options.gfm)if(this.options.tables)this.rules=block.tables;else this.rules=block.gfm}Lexer.rules=block;Lexer.lex=function(src,options){var lexer=new Lexer(options);return lexer.lex(src)}; +Lexer.prototype.lex=function(src){src=src.replace(/\r\n|\r/g,"\n").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/\u2424/g,"\n");return this.token(src,true)};Lexer.prototype.token=function(src,top){var src=src.replace(/^ +$/gm,""),next,loose,cap,bull,b,item,space,i,l;while(src){if(cap=this.rules.newline.exec(src)){src=src.substring(cap[0].length);if(cap[0].length>1)this.tokens.push({type:"space"})}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);cap=cap[0].replace(/^ {4}/gm, +"");this.tokens.push({type:"code",text:!this.options.pedantic?cap.replace(/\n+$/,""):cap});continue}if(cap=this.rules.fences.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"code",lang:cap[2],text:cap[3]});continue}if(cap=this.rules.heading.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:"heading",depth:cap[1].length,text:cap[2]});continue}if(top&&(cap=this.rules.nptable.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g, +"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/\n$/,"").split("\n")};for(i=0;i ?/gm,"");this.token(cap,top);this.tokens.push({type:"blockquote_end"});continue}if(cap=this.rules.list.exec(src)){src=src.substring(cap[0].length); +bull=cap[2];this.tokens.push({type:"list_start",ordered:bull.length>1});cap=cap[0].match(this.rules.item);next=false;l=cap.length;i=0;for(;i1&&b.length>1)){src=cap.slice(i+ +1).join("\n")+src;i=l-1}}loose=next||/\n\n(?!\s*$)/.test(item);if(i!==l-1){next=item[item.length-1]==="\n";if(!loose)loose=next}this.tokens.push({type:loose?"loose_item_start":"list_item_start"});this.token(item,false);this.tokens.push({type:"list_item_end"})}this.tokens.push({type:"list_end"});continue}if(cap=this.rules.html.exec(src)){src=src.substring(cap[0].length);this.tokens.push({type:this.options.sanitize?"paragraph":"html",pre:cap[1]==="pre"||cap[1]==="script",text:cap[0]});continue}if(top&& +(cap=this.rules.def.exec(src))){src=src.substring(cap[0].length);this.tokens.links[cap[1].toLowerCase()]={href:cap[2],title:cap[3]};continue}if(top&&(cap=this.rules.table.exec(src))){src=src.substring(cap[0].length);item={type:"table",header:cap[1].replace(/^ *| *\| *$/g,"").split(/ *\| */),align:cap[2].replace(/^ *|\| *$/g,"").split(/ *\| */),cells:cap[3].replace(/(?: *\| *)?\n$/,"").split("\n")};for(i=0;i])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:noop,tag:/^\x3c!--[\s\S]*?--\x3e|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([\s\S]+?)__(?!_)|^\*\*([\s\S]+?)\*\*(?!\*)/,em:/^\b_((?:__|[\s\S])+?)_\b|^\*((?:\*\*|[\s\S])+?)\*(?!\*)/, +code:/^(`+)\s*([\s\S]*?[^`])\s*\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,del:noop,text:/^[\s\S]+?(?=[\\?(?:\s+['"]([\s\S]*?)['"])?\s*/;inline.link=replace(inline.link)("inside",inline._inside)("href",inline._href)();inline.reflink=replace(inline.reflink)("inside",inline._inside)();inline.normal=merge({},inline);inline.pedantic=merge({},inline.normal,{strong:/^__(?=\S)([\s\S]*?\S)__(?!_)|^\*\*(?=\S)([\s\S]*?\S)\*\*(?!\*)/, +em:/^_(?=\S)([\s\S]*?\S)_(?!_)|^\*(?=\S)([\s\S]*?\S)\*(?!\*)/});inline.gfm=merge({},inline.normal,{escape:replace(inline.escape)("])","~|])")(),url:/^(https?:\/\/[^\s<]+[^<.,:;"')\]\s])/,del:/^~~(?=\S)([\s\S]*?\S)~~/,text:replace(inline.text)("]|","~]|")("|","|https?://|")()});inline.breaks=merge({},inline.gfm,{br:replace(inline.br)("{2,}","*")(),text:replace(inline.gfm.text)("{2,}","*")()});function InlineLexer(links,options){this.options=options||marked.defaults;this.links=links;this.rules=inline.normal; +if(!this.links)throw new Error("Tokens array requires a `links` property.");if(this.options.gfm)if(this.options.breaks)this.rules=inline.breaks;else this.rules=inline.gfm;else if(this.options.pedantic)this.rules=inline.pedantic}InlineLexer.rules=inline;InlineLexer.output=function(src,links,options){var inline=new InlineLexer(links,options);return inline.output(src)};InlineLexer.prototype.output=function(src){var out="",link,text,href,cap;while(src){if(cap=this.rules.escape.exec(src)){src=src.substring(cap[0].length); +out+=cap[1];continue}if(cap=this.rules.autolink.exec(src)){src=src.substring(cap[0].length);if(cap[2]==="@"){text=cap[1][6]===":"?this.mangle(cap[1].substring(7)):this.mangle(cap[1]);href=this.mangle("mailto:")+text}else{text=escape(cap[1]);href=text}out+=''+text+"";continue}if(cap=this.rules.url.exec(src)){src=src.substring(cap[0].length);text=escape(cap[1]);href=text;out+=''+text+"";continue}if(cap=this.rules.tag.exec(src)){src=src.substring(cap[0].length); +out+=this.options.sanitize?escape(cap[0]):cap[0];continue}if(cap=this.rules.link.exec(src)){src=src.substring(cap[0].length);out+=this.outputLink(cap,{href:cap[2],title:cap[3]});continue}if((cap=this.rules.reflink.exec(src))||(cap=this.rules.nolink.exec(src))){src=src.substring(cap[0].length);link=(cap[2]||cap[1]).replace(/\s+/g," ");link=this.links[link.toLowerCase()];if(!link||!link.href){out+=cap[0][0];src=cap[0].substring(1)+src;continue}out+=this.outputLink(cap,link);continue}if(cap=this.rules.strong.exec(src)){src= +src.substring(cap[0].length);out+=""+this.output(cap[2]||cap[1])+"";continue}if(cap=this.rules.em.exec(src)){src=src.substring(cap[0].length);out+=""+this.output(cap[2]||cap[1])+"";continue}if(cap=this.rules.code.exec(src)){src=src.substring(cap[0].length);out+=""+escape(cap[2],true)+"";continue}if(cap=this.rules.br.exec(src)){src=src.substring(cap[0].length);out+="
";continue}if(cap=this.rules.del.exec(src)){src=src.substring(cap[0].length);out+=""+ +this.output(cap[1])+"";continue}if(cap=this.rules.text.exec(src)){src=src.substring(cap[0].length);out+=escape(cap[0]);continue}if(src)throw new Error("Infinite loop on byte: "+src.charCodeAt(0));}return out};InlineLexer.prototype.outputLink=function(cap,link){if(cap[0][0]!=="!")return'"+this.output(cap[1])+"";else return''+escape(cap[1])+'"};InlineLexer.prototype.smartypants=function(text){if(!this.options.smartypants)return text;return text.replace(/--/g,"\u2014").replace(/'([^']*)'/g,"\u2018$1\u2019").replace(/"([^"]*)"/g,"\u201c$1\u201d").replace(/\.{3}/g,"\u2026")};InlineLexer.prototype.mangle=function(text){var out="",l=text.length,i=0,ch;for(;i0.5)ch="x"+ch.toString(16);out+="&#"+ch+";"}return out};function Parser(options){this.tokens=[];this.token=null; +this.options=options||marked.defaults}Parser.parse=function(src,options){var parser=new Parser(options);return parser.parse(src)};Parser.prototype.parse=function(src){this.inline=new InlineLexer(src.links,this.options);this.tokens=src.reverse();var out="";while(this.next())out+=this.tok();return out};Parser.prototype.next=function(){return this.token=this.tokens.pop()};Parser.prototype.peek=function(){return this.tokens[this.tokens.length-1]||0};Parser.prototype.parseText=function(){var body=this.token.text; +while(this.peek().type==="text")body+="\n"+this.next().text;return this.inline.output(body)};Parser.prototype.tok=function(){switch(this.token.type){case "space":return"";case "hr":return"
\n";case "heading":return""+this.inline.output(this.token.text)+"\n";case "code":if(this.options.highlight){var code=this.options.highlight(this.token.text,this.token.lang);if(code!=null&&code!==this.token.text){this.token.escaped=true;this.token.text=code}}if(!this.token.escaped)this.token.text= +escape(this.token.text,true);return"
"+this.token.text+"
\n";case "table":var body="",heading,i,row,cell,j;body+="\n\n";for(i=0;i'+heading+"\n":""+heading+"\n"}body+="\n\n";body+="\n";for(i=0;i'+cell+"\n":""+cell+"\n"}body+="\n"}body+="\n";return"\n"+body+"
\n";case "blockquote_start":var body="";while(this.next().type!=="blockquote_end")body+=this.tok();return"
\n"+body+"
\n";case "list_start":var type=this.token.ordered?"ol":"ul",body="";while(this.next().type!=="list_end")body+= +this.tok();return"<"+type+">\n"+body+"\n";case "list_item_start":var body="";while(this.next().type!=="list_item_end")body+=this.token.type==="text"?this.parseText():this.tok();return"
  • "+body+"
  • \n";case "loose_item_start":var body="";while(this.next().type!=="list_item_end")body+=this.tok();return"
  • "+body+"
  • \n";case "html":return!this.token.pre&&!this.options.pedantic?this.inline.output(this.token.text):this.token.text;case "paragraph":return"

    "+this.inline.output(this.token.text)+ +"

    \n";case "text":return"

    "+this.parseText()+"

    \n"}};function escape(html,encode){return html.replace(!encode?/&(?!#?\w+;)/g:/&/g,"&").replace(//g,">").replace(/"/g,""").replace(/'/g,"'")}function replace(regex,opt){regex=regex.source;opt=opt||"";return function self(name,val){if(!name)return new RegExp(regex,opt);val=val.source||val;val=val.replace(/(^|[^\[])\^/g,"$1");regex=regex.replace(name,val);return self}}function noop(){}noop.exec=noop;function merge(obj){var i= +1,target,key;for(;iAn error occured:

    "+escape(e.message+"",true)+"
    ";throw e;}}marked.options=marked.setOptions=function(opt){merge(marked.defaults,opt);return marked};marked.defaults={gfm:true,tables:true,breaks:false,pedantic:false,sanitize:false,smartLists:false,silent:false,highlight:null,langPrefix:""};marked.Parser=Parser;marked.parser=Parser.parse;marked.Lexer=Lexer;marked.lexer=Lexer.lex;marked.InlineLexer=InlineLexer;marked.inlineLexer=InlineLexer.output; +marked.parse=marked;if(typeof exports==="object")module.exports=marked;else if(typeof define==="function"&&define.amd)define(function(){return marked});else this.marked=marked}).call(function(){return this||(typeof window!=="undefined"?window:global)}()); diff --git a/presentation/plugin/math/math.js b/presentation/plugin/math/math.js new file mode 100755 index 000000000..d55d9d1a7 --- /dev/null +++ b/presentation/plugin/math/math.js @@ -0,0 +1,64 @@ +/** + * A plugin which enables rendering of math equations inside + * of reveal.js slides. Essentially a thin wrapper for MathJax. + * + * @author Hakim El Hattab + */ +var RevealMath = window.RevealMath || (function(){ + + var options = Reveal.getConfig().math || {}; + options.mathjax = options.mathjax || 'http://cdn.mathjax.org/mathjax/latest/MathJax.js'; + options.config = options.config || 'TeX-AMS_HTML-full'; + + loadScript( options.mathjax + '?config=' + options.config, function() { + + MathJax.Hub.Config({ + messageStyle: 'none', + tex2jax: { inlineMath: [['$','$'],['\\(','\\)']] }, + skipStartupTypeset: true + }); + + // Typeset followed by an immediate reveal.js layout since + // the typesetting process could affect slide height + MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub ] ); + MathJax.Hub.Queue( Reveal.layout ); + + // Reprocess equations in slides when they turn visible + Reveal.addEventListener( 'slidechanged', function( event ) { + + MathJax.Hub.Queue( [ 'Typeset', MathJax.Hub, event.currentSlide ] ); + + } ); + + } ); + + function loadScript( url, callback ) { + + var head = document.querySelector( 'head' ); + var script = document.createElement( 'script' ); + script.type = 'text/javascript'; + script.src = url; + + // Wrapper for callback to make sure it only fires once + var finish = function() { + if( typeof callback === 'function' ) { + callback.call(); + callback = null; + } + } + + script.onload = finish; + + // IE + script.onreadystatechange = function() { + if ( this.readyState === 'loaded' ) { + finish(); + } + } + + // Normal browsers + head.appendChild( script ); + + } + +})(); diff --git a/presentation/plugin/multiplex/client.js b/presentation/plugin/multiplex/client.js new file mode 100644 index 000000000..e6179f6de --- /dev/null +++ b/presentation/plugin/multiplex/client.js @@ -0,0 +1,13 @@ +(function() { + var multiplex = Reveal.getConfig().multiplex; + var socketId = multiplex.id; + var socket = io.connect(multiplex.url); + + socket.on(multiplex.id, function(data) { + // ignore data from sockets that aren't ours + if (data.socketId !== socketId) { return; } + if( window.location.host === 'localhost:1947' ) return; + + Reveal.slide(data.indexh, data.indexv, data.indexf, 'remote'); + }); +}()); diff --git a/presentation/plugin/multiplex/index.js b/presentation/plugin/multiplex/index.js new file mode 100644 index 000000000..6f5d8b112 --- /dev/null +++ b/presentation/plugin/multiplex/index.js @@ -0,0 +1,56 @@ +var express = require('express'); +var fs = require('fs'); +var io = require('socket.io'); +var crypto = require('crypto'); + +var app = express.createServer(); +var staticDir = express.static; + +io = io.listen(app); + +var opts = { + port: 1948, + baseDir : __dirname + '/../../' +}; + +io.sockets.on('connection', function(socket) { + socket.on('slidechanged', function(slideData) { + if (typeof slideData.secret == 'undefined' || slideData.secret == null || slideData.secret === '') return; + if (createHash(slideData.secret) === slideData.socketId) { + slideData.secret = null; + socket.broadcast.emit(slideData.socketId, slideData); + }; + }); +}); + +app.configure(function() { + [ 'css', 'js', 'plugin', 'lib' ].forEach(function(dir) { + app.use('/' + dir, staticDir(opts.baseDir + dir)); + }); +}); + +app.get("/", function(req, res) { + res.writeHead(200, {'Content-Type': 'text/html'}); + fs.createReadStream(opts.baseDir + '/index.html').pipe(res); +}); + +app.get("/token", function(req,res) { + var ts = new Date().getTime(); + var rand = Math.floor(Math.random()*9999999); + var secret = ts.toString() + rand.toString(); + res.send({secret: secret, socketId: createHash(secret)}); +}); + +var createHash = function(secret) { + var cipher = crypto.createCipher('blowfish', secret); + return(cipher.final('hex')); +}; + +// Actually listen +app.listen(opts.port || null); + +var brown = '\033[33m', + green = '\033[32m', + reset = '\033[0m'; + +console.log( brown + "reveal.js:" + reset + " Multiplex running on port " + green + opts.port + reset ); \ No newline at end of file diff --git a/presentation/plugin/multiplex/master.js b/presentation/plugin/multiplex/master.js new file mode 100644 index 000000000..b6a7eb7dc --- /dev/null +++ b/presentation/plugin/multiplex/master.js @@ -0,0 +1,51 @@ +(function() { + // Don't emit events from inside of notes windows + if ( window.location.search.match( /receiver/gi ) ) { return; } + + var multiplex = Reveal.getConfig().multiplex; + + var socket = io.connect(multiplex.url); + + var notify = function( slideElement, indexh, indexv, origin ) { + if( typeof origin === 'undefined' && origin !== 'remote' ) { + var nextindexh; + var nextindexv; + + var fragmentindex = Reveal.getIndices().f; + if (typeof fragmentindex == 'undefined') { + fragmentindex = 0; + } + + if (slideElement.nextElementSibling && slideElement.parentNode.nodeName == 'SECTION') { + nextindexh = indexh; + nextindexv = indexv + 1; + } else { + nextindexh = indexh + 1; + nextindexv = 0; + } + + var slideData = { + indexh : indexh, + indexv : indexv, + indexf : fragmentindex, + nextindexh : nextindexh, + nextindexv : nextindexv, + secret: multiplex.secret, + socketId : multiplex.id + }; + + socket.emit('slidechanged', slideData); + } + } + + Reveal.addEventListener( 'slidechanged', function( event ) { + notify( event.currentSlide, event.indexh, event.indexv, event.origin ); + } ); + + var fragmentNotify = function( event ) { + notify( Reveal.getCurrentSlide(), Reveal.getIndices().h, Reveal.getIndices().v, event.origin ); + }; + + Reveal.addEventListener( 'fragmentshown', fragmentNotify ); + Reveal.addEventListener( 'fragmenthidden', fragmentNotify ); +}()); \ No newline at end of file diff --git a/presentation/plugin/notes-server/client.js b/presentation/plugin/notes-server/client.js new file mode 100644 index 000000000..628586ffb --- /dev/null +++ b/presentation/plugin/notes-server/client.js @@ -0,0 +1,60 @@ +(function() { + + // don't emit events from inside the previews themselves + if( window.location.search.match( /receiver/gi ) ) { return; } + + var socket = io.connect( window.location.origin ), + socketId = Math.random().toString().slice( 2 ); + + console.log( 'View slide notes at ' + window.location.origin + '/notes/' + socketId ); + + window.open( window.location.origin + '/notes/' + socketId, 'notes-' + socketId ); + + /** + * Posts the current slide data to the notes window + */ + function post() { + + var slideElement = Reveal.getCurrentSlide(), + notesElement = slideElement.querySelector( 'aside.notes' ); + + var messageData = { + notes: '', + markdown: false, + socketId: socketId, + state: Reveal.getState() + }; + + // Look for notes defined in a slide attribute + if( slideElement.hasAttribute( 'data-notes' ) ) { + messageData.notes = slideElement.getAttribute( 'data-notes' ); + } + + // Look for notes defined in an aside element + if( notesElement ) { + messageData.notes = notesElement.innerHTML; + messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; + } + + socket.emit( 'statechanged', messageData ); + + } + + // When a new notes window connects, post our current state + socket.on( 'connect', function( data ) { + post(); + } ); + + // Monitor events that trigger a change in state + Reveal.addEventListener( 'slidechanged', post ); + Reveal.addEventListener( 'fragmentshown', post ); + Reveal.addEventListener( 'fragmenthidden', post ); + Reveal.addEventListener( 'overviewhidden', post ); + Reveal.addEventListener( 'overviewshown', post ); + Reveal.addEventListener( 'paused', post ); + Reveal.addEventListener( 'resumed', post ); + + // Post the initial state + post(); + +}()); diff --git a/presentation/plugin/notes-server/index.js b/presentation/plugin/notes-server/index.js new file mode 100644 index 000000000..df917f112 --- /dev/null +++ b/presentation/plugin/notes-server/index.js @@ -0,0 +1,66 @@ +var express = require('express'); +var fs = require('fs'); +var io = require('socket.io'); +var _ = require('underscore'); +var Mustache = require('mustache'); + +var app = express.createServer(); +var staticDir = express.static; + +io = io.listen(app); + +var opts = { + port : 1947, + baseDir : __dirname + '/../../' +}; + +io.sockets.on( 'connection', function( socket ) { + + socket.on( 'connect', function( data ) { + socket.broadcast.emit( 'connect', data ); + }); + + socket.on( 'statechanged', function( data ) { + socket.broadcast.emit( 'statechanged', data ); + }); + +}); + +app.configure( function() { + + [ 'css', 'js', 'images', 'plugin', 'lib' ].forEach( function( dir ) { + app.use( '/' + dir, staticDir( opts.baseDir + dir ) ); + }); + +}); + +app.get('/', function( req, res ) { + + res.writeHead( 200, { 'Content-Type': 'text/html' } ); + fs.createReadStream( opts.baseDir + '/index.html' ).pipe( res ); + +}); + +app.get( '/notes/:socketId', function( req, res ) { + + fs.readFile( opts.baseDir + 'plugin/notes-server/notes.html', function( err, data ) { + res.send( Mustache.to_html( data.toString(), { + socketId : req.params.socketId + })); + }); + +}); + +// Actually listen +app.listen( opts.port || null ); + +var brown = '\033[33m', + green = '\033[32m', + reset = '\033[0m'; + +var slidesLocation = 'http://localhost' + ( opts.port ? ( ':' + opts.port ) : '' ); + +console.log( brown + 'reveal.js - Speaker Notes' + reset ); +console.log( '1. Open the slides at ' + green + slidesLocation + reset ); +console.log( '2. Click on the link your JS console to go to the notes page' ); +console.log( '3. Advance through your slides and your notes will advance automatically' ); diff --git a/presentation/plugin/notes-server/notes.html b/presentation/plugin/notes-server/notes.html new file mode 100644 index 000000000..72d0317f1 --- /dev/null +++ b/presentation/plugin/notes-server/notes.html @@ -0,0 +1,396 @@ + + + + + + reveal.js - Slide Notes + + + + + + +
    +
    UPCOMING:
    +
    +
    +

    Time Click to Reset

    +
    + 0:00 AM +
    +
    + 00:00:00 +
    +
    +
    + + +
    + + + + + + + + diff --git a/presentation/plugin/notes/notes.html b/presentation/plugin/notes/notes.html new file mode 100644 index 000000000..0cc8cf612 --- /dev/null +++ b/presentation/plugin/notes/notes.html @@ -0,0 +1,406 @@ + + + + + + reveal.js - Slide Notes + + + + + + +
    +
    UPCOMING:
    +
    +
    +

    Time Click to Reset

    +
    + 0:00 AM +
    +
    + 00:00:00 +
    +
    +
    + + +
    + + + + + diff --git a/presentation/plugin/notes/notes.js b/presentation/plugin/notes/notes.js new file mode 100644 index 000000000..27199af87 --- /dev/null +++ b/presentation/plugin/notes/notes.js @@ -0,0 +1,122 @@ +/** + * Handles opening of and synchronization with the reveal.js + * notes window. + * + * Handshake process: + * 1. This window posts 'connect' to notes window + * - Includes URL of presentation to show + * 2. Notes window responds with 'connected' when it is available + * 3. This window proceeds to send the current presentation state + * to the notes window + */ +var RevealNotes = (function() { + + function openNotes() { + var jsFileLocation = document.querySelector('script[src$="notes.js"]').src; // this js file path + jsFileLocation = jsFileLocation.replace(/notes\.js(\?.*)?$/, ''); // the js folder path + var notesPopup = window.open( jsFileLocation + 'notes.html', 'reveal.js - Notes', 'width=1100,height=700' ); + + /** + * Connect to the notes window through a postmessage handshake. + * Using postmessage enables us to work in situations where the + * origins differ, such as a presentation being opened from the + * file system. + */ + function connect() { + // Keep trying to connect until we get a 'connected' message back + var connectInterval = setInterval( function() { + notesPopup.postMessage( JSON.stringify( { + namespace: 'reveal-notes', + type: 'connect', + url: window.location.protocol + '//' + window.location.host + window.location.pathname, + state: Reveal.getState() + } ), '*' ); + }, 500 ); + + window.addEventListener( 'message', function( event ) { + var data = JSON.parse( event.data ); + if( data && data.namespace === 'reveal-notes' && data.type === 'connected' ) { + clearInterval( connectInterval ); + onConnected(); + } + } ); + } + + /** + * Posts the current slide data to the notes window + */ + function post() { + + var slideElement = Reveal.getCurrentSlide(), + notesElement = slideElement.querySelector( 'aside.notes' ); + + var messageData = { + namespace: 'reveal-notes', + type: 'state', + notes: '', + markdown: false, + state: Reveal.getState() + }; + + // Look for notes defined in a slide attribute + if( slideElement.hasAttribute( 'data-notes' ) ) { + messageData.notes = slideElement.getAttribute( 'data-notes' ); + } + + // Look for notes defined in an aside element + if( notesElement ) { + messageData.notes = notesElement.innerHTML; + messageData.markdown = typeof notesElement.getAttribute( 'data-markdown' ) === 'string'; + } + + notesPopup.postMessage( JSON.stringify( messageData ), '*' ); + + } + + /** + * Called once we have established a connection to the notes + * window. + */ + function onConnected() { + + // Monitor events that trigger a change in state + Reveal.addEventListener( 'slidechanged', post ); + Reveal.addEventListener( 'fragmentshown', post ); + Reveal.addEventListener( 'fragmenthidden', post ); + Reveal.addEventListener( 'overviewhidden', post ); + Reveal.addEventListener( 'overviewshown', post ); + Reveal.addEventListener( 'paused', post ); + Reveal.addEventListener( 'resumed', post ); + + // Post the initial state + post(); + + } + + connect(); + } + + if( !/receiver/i.test( window.location.search ) ) { + + // If the there's a 'notes' query set, open directly + if( window.location.search.match( /(\?|\&)notes/gi ) !== null ) { + openNotes(); + } + + // Open the notes when the 's' key is hit + document.addEventListener( 'keydown', function( event ) { + // Disregard the event if the target is editable or a + // modifier is present + if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return; + + if( event.keyCode === 83 ) { + event.preventDefault(); + openNotes(); + } + }, false ); + + } + + return { open: openNotes }; + +})(); diff --git a/presentation/plugin/print-pdf/print-pdf.js b/presentation/plugin/print-pdf/print-pdf.js new file mode 100644 index 000000000..86dc4df8a --- /dev/null +++ b/presentation/plugin/print-pdf/print-pdf.js @@ -0,0 +1,48 @@ +/** + * phantomjs script for printing presentations to PDF. + * + * Example: + * phantomjs print-pdf.js "http://lab.hakim.se/reveal-js?print-pdf" reveal-demo.pdf + * + * By Manuel Bieh (https://github.com/manuelbieh) + */ + +// html2pdf.js +var page = new WebPage(); +var system = require( 'system' ); + +var slideWidth = system.args[3] ? system.args[3].split( 'x' )[0] : 960; +var slideHeight = system.args[3] ? system.args[3].split( 'x' )[1] : 700; + +page.viewportSize = { + width: slideWidth, + height: slideHeight +}; + +// TODO +// Something is wrong with these config values. An input +// paper width of 1920px actually results in a 756px wide +// PDF. +page.paperSize = { + width: Math.round( slideWidth * 2 ), + height: Math.round( slideHeight * 2 ), + border: 0 +}; + +var inputFile = system.args[1] || 'index.html?print-pdf'; +var outputFile = system.args[2] || 'slides.pdf'; + +if( outputFile.match( /\.pdf$/gi ) === null ) { + outputFile += '.pdf'; +} + +console.log( 'Printing PDF (Paper size: '+ page.paperSize.width + 'x' + page.paperSize.height +')' ); + +page.open( inputFile, function( status ) { + window.setTimeout( function() { + console.log( 'Printed succesfully' ); + page.render( outputFile ); + phantom.exit(); + }, 1000 ); +} ); + diff --git a/presentation/plugin/remotes/remotes.js b/presentation/plugin/remotes/remotes.js new file mode 100644 index 000000000..ba0dbad7b --- /dev/null +++ b/presentation/plugin/remotes/remotes.js @@ -0,0 +1,39 @@ +/** + * Touch-based remote controller for your presentation courtesy + * of the folks at http://remotes.io + */ + +(function(window){ + + /** + * Detects if we are dealing with a touch enabled device (with some false positives) + * Borrowed from modernizr: https://github.com/Modernizr/Modernizr/blob/master/feature-detects/touch.js + */ + var hasTouch = (function(){ + return ('ontouchstart' in window) || window.DocumentTouch && document instanceof DocumentTouch; + })(); + + /** + * Detects if notes are enable and the current page is opened inside an /iframe + * this prevents loading Remotes.io several times + */ + var isNotesAndIframe = (function(){ + return window.RevealNotes && !(self == top); + })(); + + if(!hasTouch && !isNotesAndIframe){ + head.ready( 'remotes.ne.min.js', function() { + new Remotes("preview") + .on("swipe-left", function(e){ Reveal.right(); }) + .on("swipe-right", function(e){ Reveal.left(); }) + .on("swipe-up", function(e){ Reveal.down(); }) + .on("swipe-down", function(e){ Reveal.up(); }) + .on("tap", function(e){ Reveal.next(); }) + .on("zoom-out", function(e){ Reveal.toggleOverview(true); }) + .on("zoom-in", function(e){ Reveal.toggleOverview(false); }) + ; + } ); + + head.js('https://hakim-static.s3.amazonaws.com/reveal-js/remotes.ne.min.js'); + } +})(window); \ No newline at end of file diff --git a/presentation/plugin/search/search.js b/presentation/plugin/search/search.js new file mode 100644 index 000000000..ae6582e75 --- /dev/null +++ b/presentation/plugin/search/search.js @@ -0,0 +1,196 @@ +/* + * Handles finding a text string anywhere in the slides and showing the next occurrence to the user + * by navigatating to that slide and highlighting it. + * + * By Jon Snyder , February 2013 + */ + +var RevealSearch = (function() { + + var matchedSlides; + var currentMatchedIndex; + var searchboxDirty; + var myHilitor; + +// Original JavaScript code by Chirp Internet: www.chirp.com.au +// Please acknowledge use of this code by including this header. +// 2/2013 jon: modified regex to display any match, not restricted to word boundaries. + +function Hilitor(id, tag) +{ + + var targetNode = document.getElementById(id) || document.body; + var hiliteTag = tag || "EM"; + var skipTags = new RegExp("^(?:" + hiliteTag + "|SCRIPT|FORM|SPAN)$"); + var colors = ["#ff6", "#a0ffff", "#9f9", "#f99", "#f6f"]; + var wordColor = []; + var colorIdx = 0; + var matchRegex = ""; + var matchingSlides = []; + + this.setRegex = function(input) + { + input = input.replace(/^[^\w]+|[^\w]+$/g, "").replace(/[^\w'-]+/g, "|"); + matchRegex = new RegExp("(" + input + ")","i"); + } + + this.getRegex = function() + { + return matchRegex.toString().replace(/^\/\\b\(|\)\\b\/i$/g, "").replace(/\|/g, " "); + } + + // recursively apply word highlighting + this.hiliteWords = function(node) + { + if(node == undefined || !node) return; + if(!matchRegex) return; + if(skipTags.test(node.nodeName)) return; + + if(node.hasChildNodes()) { + for(var i=0; i < node.childNodes.length; i++) + this.hiliteWords(node.childNodes[i]); + } + if(node.nodeType == 3) { // NODE_TEXT + if((nv = node.nodeValue) && (regs = matchRegex.exec(nv))) { + //find the slide's section element and save it in our list of matching slides + var secnode = node.parentNode; + while (secnode.nodeName != 'SECTION') { + secnode = secnode.parentNode; + } + + var slideIndex = Reveal.getIndices(secnode); + var slidelen = matchingSlides.length; + var alreadyAdded = false; + for (var i=0; i < slidelen; i++) { + if ( (matchingSlides[i].h === slideIndex.h) && (matchingSlides[i].v === slideIndex.v) ) { + alreadyAdded = true; + } + } + if (! alreadyAdded) { + matchingSlides.push(slideIndex); + } + + if(!wordColor[regs[0].toLowerCase()]) { + wordColor[regs[0].toLowerCase()] = colors[colorIdx++ % colors.length]; + } + + var match = document.createElement(hiliteTag); + match.appendChild(document.createTextNode(regs[0])); + match.style.backgroundColor = wordColor[regs[0].toLowerCase()]; + match.style.fontStyle = "inherit"; + match.style.color = "#000"; + + var after = node.splitText(regs.index); + after.nodeValue = after.nodeValue.substring(regs[0].length); + node.parentNode.insertBefore(match, after); + } + } + }; + + // remove highlighting + this.remove = function() + { + var arr = document.getElementsByTagName(hiliteTag); + while(arr.length && (el = arr[0])) { + el.parentNode.replaceChild(el.firstChild, el); + } + }; + + // start highlighting at target node + this.apply = function(input) + { + if(input == undefined || !input) return; + this.remove(); + this.setRegex(input); + this.hiliteWords(targetNode); + return matchingSlides; + }; + +} + + function openSearch() { + //ensure the search term input dialog is visible and has focus: + var inputbox = document.getElementById("searchinput"); + inputbox.style.display = "inline"; + inputbox.focus(); + inputbox.select(); + } + + function toggleSearch() { + var inputbox = document.getElementById("searchinput"); + if (inputbox.style.display !== "inline") { + openSearch(); + } + else { + inputbox.style.display = "none"; + myHilitor.remove(); + } + } + + function doSearch() { + //if there's been a change in the search term, perform a new search: + if (searchboxDirty) { + var searchstring = document.getElementById("searchinput").value; + + //find the keyword amongst the slides + myHilitor = new Hilitor("slidecontent"); + matchedSlides = myHilitor.apply(searchstring); + currentMatchedIndex = 0; + } + + //navigate to the next slide that has the keyword, wrapping to the first if necessary + if (matchedSlides.length && (matchedSlides.length <= currentMatchedIndex)) { + currentMatchedIndex = 0; + } + if (matchedSlides.length > currentMatchedIndex) { + Reveal.slide(matchedSlides[currentMatchedIndex].h, matchedSlides[currentMatchedIndex].v); + currentMatchedIndex++; + } + } + + var dom = {}; + dom.wrapper = document.querySelector( '.reveal' ); + + if( !dom.wrapper.querySelector( '.searchbox' ) ) { + var searchElement = document.createElement( 'div' ); + searchElement.id = "searchinputdiv"; + searchElement.classList.add( 'searchdiv' ); + searchElement.style.position = 'absolute'; + searchElement.style.top = '10px'; + searchElement.style.left = '10px'; + //embedded base64 search icon Designed by Sketchdock - http://www.sketchdock.com/: + searchElement.innerHTML = ''; + dom.wrapper.appendChild( searchElement ); + } + + document.getElementById("searchbutton").addEventListener( 'click', function(event) { + doSearch(); + }, false ); + + document.getElementById("searchinput").addEventListener( 'keyup', function( event ) { + switch (event.keyCode) { + case 13: + event.preventDefault(); + doSearch(); + searchboxDirty = false; + break; + default: + searchboxDirty = true; + } + }, false ); + + // Open the search when the 's' key is hit (yes, this conflicts with the notes plugin, disabling for now) + /* + document.addEventListener( 'keydown', function( event ) { + // Disregard the event if the target is editable or a + // modifier is present + if ( document.querySelector( ':focus' ) !== null || event.shiftKey || event.altKey || event.ctrlKey || event.metaKey ) return; + + if( event.keyCode === 83 ) { + event.preventDefault(); + openSearch(); + } + }, false ); +*/ + return { open: openSearch }; +})(); diff --git a/presentation/plugin/zoom-js/zoom.js b/presentation/plugin/zoom-js/zoom.js new file mode 100644 index 000000000..da2c10acb --- /dev/null +++ b/presentation/plugin/zoom-js/zoom.js @@ -0,0 +1,278 @@ +// Custom reveal.js integration +(function(){ + var isEnabled = true; + + document.querySelector( '.reveal' ).addEventListener( 'mousedown', function( event ) { + var modifier = ( Reveal.getConfig().zoomKey ? Reveal.getConfig().zoomKey : 'alt' ) + 'Key'; + + var zoomPadding = 20; + var revealScale = Reveal.getScale(); + + if( event[ modifier ] && isEnabled ) { + event.preventDefault(); + + var bounds = event.target.getBoundingClientRect(); + + zoom.to({ + x: ( bounds.left * revealScale ) - zoomPadding, + y: ( bounds.top * revealScale ) - zoomPadding, + width: ( bounds.width * revealScale ) + ( zoomPadding * 2 ), + height: ( bounds.height * revealScale ) + ( zoomPadding * 2 ), + pan: false + }); + } + } ); + + Reveal.addEventListener( 'overviewshown', function() { isEnabled = false; } ); + Reveal.addEventListener( 'overviewhidden', function() { isEnabled = true; } ); +})(); + +/*! + * zoom.js 0.3 (modified for use with reveal.js) + * http://lab.hakim.se/zoom-js + * MIT licensed + * + * Copyright (C) 2011-2014 Hakim El Hattab, http://hakim.se + */ +var zoom = (function(){ + + // The current zoom level (scale) + var level = 1; + + // The current mouse position, used for panning + var mouseX = 0, + mouseY = 0; + + // Timeout before pan is activated + var panEngageTimeout = -1, + panUpdateInterval = -1; + + // Check for transform support so that we can fallback otherwise + var supportsTransforms = 'WebkitTransform' in document.body.style || + 'MozTransform' in document.body.style || + 'msTransform' in document.body.style || + 'OTransform' in document.body.style || + 'transform' in document.body.style; + + if( supportsTransforms ) { + // The easing that will be applied when we zoom in/out + document.body.style.transition = 'transform 0.8s ease'; + document.body.style.OTransition = '-o-transform 0.8s ease'; + document.body.style.msTransition = '-ms-transform 0.8s ease'; + document.body.style.MozTransition = '-moz-transform 0.8s ease'; + document.body.style.WebkitTransition = '-webkit-transform 0.8s ease'; + } + + // Zoom out if the user hits escape + document.addEventListener( 'keyup', function( event ) { + if( level !== 1 && event.keyCode === 27 ) { + zoom.out(); + } + } ); + + // Monitor mouse movement for panning + document.addEventListener( 'mousemove', function( event ) { + if( level !== 1 ) { + mouseX = event.clientX; + mouseY = event.clientY; + } + } ); + + /** + * Applies the CSS required to zoom in, prefers the use of CSS3 + * transforms but falls back on zoom for IE. + * + * @param {Object} rect + * @param {Number} scale + */ + function magnify( rect, scale ) { + + var scrollOffset = getScrollOffset(); + + // Ensure a width/height is set + rect.width = rect.width || 1; + rect.height = rect.height || 1; + + // Center the rect within the zoomed viewport + rect.x -= ( window.innerWidth - ( rect.width * scale ) ) / 2; + rect.y -= ( window.innerHeight - ( rect.height * scale ) ) / 2; + + if( supportsTransforms ) { + // Reset + if( scale === 1 ) { + document.body.style.transform = ''; + document.body.style.OTransform = ''; + document.body.style.msTransform = ''; + document.body.style.MozTransform = ''; + document.body.style.WebkitTransform = ''; + } + // Scale + else { + var origin = scrollOffset.x +'px '+ scrollOffset.y +'px', + transform = 'translate('+ -rect.x +'px,'+ -rect.y +'px) scale('+ scale +')'; + + document.body.style.transformOrigin = origin; + document.body.style.OTransformOrigin = origin; + document.body.style.msTransformOrigin = origin; + document.body.style.MozTransformOrigin = origin; + document.body.style.WebkitTransformOrigin = origin; + + document.body.style.transform = transform; + document.body.style.OTransform = transform; + document.body.style.msTransform = transform; + document.body.style.MozTransform = transform; + document.body.style.WebkitTransform = transform; + } + } + else { + // Reset + if( scale === 1 ) { + document.body.style.position = ''; + document.body.style.left = ''; + document.body.style.top = ''; + document.body.style.width = ''; + document.body.style.height = ''; + document.body.style.zoom = ''; + } + // Scale + else { + document.body.style.position = 'relative'; + document.body.style.left = ( - ( scrollOffset.x + rect.x ) / scale ) + 'px'; + document.body.style.top = ( - ( scrollOffset.y + rect.y ) / scale ) + 'px'; + document.body.style.width = ( scale * 100 ) + '%'; + document.body.style.height = ( scale * 100 ) + '%'; + document.body.style.zoom = scale; + } + } + + level = scale; + + if( document.documentElement.classList ) { + if( level !== 1 ) { + document.documentElement.classList.add( 'zoomed' ); + } + else { + document.documentElement.classList.remove( 'zoomed' ); + } + } + } + + /** + * Pan the document when the mosue cursor approaches the edges + * of the window. + */ + function pan() { + var range = 0.12, + rangeX = window.innerWidth * range, + rangeY = window.innerHeight * range, + scrollOffset = getScrollOffset(); + + // Up + if( mouseY < rangeY ) { + window.scroll( scrollOffset.x, scrollOffset.y - ( 1 - ( mouseY / rangeY ) ) * ( 14 / level ) ); + } + // Down + else if( mouseY > window.innerHeight - rangeY ) { + window.scroll( scrollOffset.x, scrollOffset.y + ( 1 - ( window.innerHeight - mouseY ) / rangeY ) * ( 14 / level ) ); + } + + // Left + if( mouseX < rangeX ) { + window.scroll( scrollOffset.x - ( 1 - ( mouseX / rangeX ) ) * ( 14 / level ), scrollOffset.y ); + } + // Right + else if( mouseX > window.innerWidth - rangeX ) { + window.scroll( scrollOffset.x + ( 1 - ( window.innerWidth - mouseX ) / rangeX ) * ( 14 / level ), scrollOffset.y ); + } + } + + function getScrollOffset() { + return { + x: window.scrollX !== undefined ? window.scrollX : window.pageXOffset, + y: window.scrollY !== undefined ? window.scrollY : window.pageYOffset + } + } + + return { + /** + * Zooms in on either a rectangle or HTML element. + * + * @param {Object} options + * - element: HTML element to zoom in on + * OR + * - x/y: coordinates in non-transformed space to zoom in on + * - width/height: the portion of the screen to zoom in on + * - scale: can be used instead of width/height to explicitly set scale + */ + to: function( options ) { + + // Due to an implementation limitation we can't zoom in + // to another element without zooming out first + if( level !== 1 ) { + zoom.out(); + } + else { + options.x = options.x || 0; + options.y = options.y || 0; + + // If an element is set, that takes precedence + if( !!options.element ) { + // Space around the zoomed in element to leave on screen + var padding = 20; + var bounds = options.element.getBoundingClientRect(); + + options.x = bounds.left - padding; + options.y = bounds.top - padding; + options.width = bounds.width + ( padding * 2 ); + options.height = bounds.height + ( padding * 2 ); + } + + // If width/height values are set, calculate scale from those values + if( options.width !== undefined && options.height !== undefined ) { + options.scale = Math.max( Math.min( window.innerWidth / options.width, window.innerHeight / options.height ), 1 ); + } + + if( options.scale > 1 ) { + options.x *= options.scale; + options.y *= options.scale; + + magnify( options, options.scale ); + + if( options.pan !== false ) { + + // Wait with engaging panning as it may conflict with the + // zoom transition + panEngageTimeout = setTimeout( function() { + panUpdateInterval = setInterval( pan, 1000 / 60 ); + }, 800 ); + + } + } + } + }, + + /** + * Resets the document zoom state to its default. + */ + out: function() { + clearTimeout( panEngageTimeout ); + clearInterval( panUpdateInterval ); + + magnify( { x: 0, y: 0 }, 1 ); + + level = 1; + }, + + // Alias + magnify: function( options ) { this.to( options ) }, + reset: function() { this.out() }, + + zoomLevel: function() { + return level; + } + } + +})(); + + +
    + + +
    + +
    +
    +
    +

    Paperless

    +

    + Daniel Quinn, London UK, March 2015
    +
    +  
    @searchingfortao +   |   +   danielquinn +   |   +   danielquinn.org +

    +
    +
    + +
    +
    +

    Paper Sucks

    +
    +
    +

    Paper Loves Being Mysterious

    +

    There's No Ctrl+F

    +
    +
    +

    Paper Hates Your Spine

    +

    It's heavy and takes up space

    +
    +
    +

    Paper Wants to Breed

    +

    Backups? More Paper!

    +
    +
    +

    Paper Hates Mother Earth

    +
    +
    + +
    + +