🚀 Big News:Socket Has Acquired Secure Annex.Learn More
Socket
Book a DemoSign in
Socket

@loopback/context

Package Overview
Dependencies
Maintainers
21
Versions
215
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@loopback/context - npm Package Compare versions

Comparing version
4.0.0-alpha.9
to
4.0.0-alpha.10
api-docs/apple-touch-icon-114x114-precomposed.png

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

+158
/*
Date: 17.V.2011
Author: pumbur <pumbur@pumbur.net>
*/
pre code
{
display: block; padding: 0.5em;
background: #222;
}
pre .profile .header *,
pre .ini .title,
pre .nginx .title
{
color: #fff;
}
pre .comment,
pre .javadoc,
pre .preprocessor,
pre .preprocessor .title,
pre .shebang,
pre .profile .summary,
pre .diff,
pre .pi,
pre .doctype,
pre .tag,
pre .template_comment,
pre .css .rules,
pre .tex .special
{
color: #444;
}
pre .string,
pre .symbol,
pre .diff .change,
pre .regexp,
pre .xml .attribute,
pre .smalltalk .char,
pre .xml .value,
pre .ini .value,
pre .clojure .attribute
{
color: #ffcc33;
}
pre .number,
pre .addition
{
color: #00cc66;
}
pre .built_in,
pre .literal,
pre .vhdl .typename,
pre .go .constant,
pre .go .typename,
pre .ini .keyword,
pre .lua .title,
pre .perl .variable,
pre .php .variable,
pre .mel .variable,
pre .django .variable,
pre .css .funtion,
pre .smalltalk .method,
pre .hexcolor,
pre .important,
pre .flow,
pre .inheritance,
pre .parser3 .variable
{
color: #32AAEE;
}
pre .keyword,
pre .tag .title,
pre .css .tag,
pre .css .class,
pre .css .id,
pre .css .pseudo,
pre .css .attr_selector,
pre .lisp .title,
pre .clojure .built_in,
pre .winutils,
pre .tex .command,
pre .request,
pre .status
{
color: #6644aa;
}
pre .title,
pre .ruby .constant,
pre .vala .constant,
pre .parent,
pre .deletion,
pre .template_tag,
pre .css .keyword,
pre .objectivec .class .id,
pre .smalltalk .class,
pre .lisp .keyword,
pre .apache .tag,
pre .nginx .variable,
pre .envvar,
pre .bash .variable,
pre .go .built_in,
pre .vbscript .built_in,
pre .lua .built_in,
pre .rsl .built_in,
pre .tail,
pre .avrasm .label,
pre .tex .formula,
pre .tex .formula *
{
color: #bb1166;
}
pre .yardoctag,
pre .phpdoc,
pre .profile .header,
pre .ini .title,
pre .apache .tag,
pre .parser3 .title
{
font-weight: bold;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata
{
opacity: 0.6;
}
pre code,
pre .javascript,
pre .css,
pre .xml,
pre .subst,
pre .diff .chunk,
pre .css .value,
pre .css .attribute,
pre .lisp .string,
pre .lisp .number,
pre .tail .params,
pre .container,
pre .haskell *,
pre .erlang *,
pre .erlang_repl *
{
color: #aaa;
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
*/
pre code {
display: block; padding: 0.5em;
background: white; color: black;
}
pre .string,
pre .tag .value,
pre .filter .argument,
pre .addition,
pre .change,
pre .apache .tag,
pre .apache .cbracket,
pre .nginx .built_in,
pre .tex .formula {
color: #888;
}
pre .comment,
pre .template_comment,
pre .shebang,
pre .doctype,
pre .pi,
pre .javadoc,
pre .deletion,
pre .apache .sqbracket {
color: #CCC;
}
pre .keyword,
pre .tag .title,
pre .ini .title,
pre .lisp .title,
pre .clojure .title,
pre .http .title,
pre .nginx .title,
pre .css .tag,
pre .winutils,
pre .flow,
pre .apache .tag,
pre .tex .command,
pre .request,
pre .status {
font-weight: bold;
}
/*
Brown Paper style from goldblog.com.ua (c) Zaripov Yura <yur4ik7@ukr.net>
*/
pre code {
display: block; padding: 0.5em;
background:#b7a68e url(./brown_papersq.png);
}
pre .keyword,
pre .literal,
pre .change,
pre .winutils,
pre .flow,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tex .special,
pre .request,
pre .status {
color:#005599;
font-weight:bold;
}
pre code,
pre .subst,
pre .tag .keyword {
color: #363C69;
}
pre .string,
pre .title,
pre .haskell .type,
pre .tag .value,
pre .css .rules .value,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .ruby .class .parent,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .javadoc,
pre .ruby .string,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .addition,
pre .stream,
pre .envvar,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .number {
color: #2C009F;
}
pre .comment,
pre .java .annotation,
pre .python .decorator,
pre .template_comment,
pre .pi,
pre .doctype,
pre .deletion,
pre .shebang,
pre .apache .sqbracket,
pre .nginx .built_in,
pre .tex .formula {
color: #802022;
}
pre .keyword,
pre .literal,
pre .css .id,
pre .phpdoc,
pre .title,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .diff .header,
pre .chunk,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .tex .command {
font-weight: bold;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.8;
}

Sorry, the diff of this file is not supported yet

/*
Dark style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
*/
pre code {
display: block; padding: 0.5em;
background: #444;
}
pre .keyword,
pre .literal,
pre .change,
pre .winutils,
pre .flow,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tex .special {
color: white;
}
pre code,
pre .subst {
color: #DDD;
}
pre .string,
pre .title,
pre .haskell .type,
pre .ini .title,
pre .tag .value,
pre .css .rules .value,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .ruby .class .parent,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .javadoc,
pre .ruby .string,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .addition,
pre .stream,
pre .envvar,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .command,
pre .prompt {
color: #D88;
}
pre .comment,
pre .java .annotation,
pre .python .decorator,
pre .template_comment,
pre .pi,
pre .doctype,
pre .deletion,
pre .shebang,
pre .apache .sqbracket,
pre .tex .formula {
color: #777;
}
pre .keyword,
pre .literal,
pre .title,
pre .css .id,
pre .phpdoc,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .diff .header,
pre .chunk,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .tex .special,
pre .request,
pre .status {
font-weight: bold;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/*
Original style from softwaremaniacs.org (c) Ivan Sagalaev <Maniac@SoftwareManiacs.Org>
*/
pre code {
display: block; padding: 0.5em;
background: #F0F0F0;
}
pre code,
pre .subst,
pre .tag .title,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title {
color: black;
}
pre .string,
pre .title,
pre .constant,
pre .parent,
pre .tag .value,
pre .rules .value,
pre .rules .value .number,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .aggregate,
pre .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .addition,
pre .flow,
pre .stream,
pre .bash .variable,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .command,
pre .tex .special,
pre .erlang_repl .function_or_atom,
pre .markdown .header {
color: #800;
}
pre .comment,
pre .annotation,
pre .template_comment,
pre .diff .header,
pre .chunk,
pre .markdown .blockquote {
color: #888;
}
pre .number,
pre .date,
pre .regexp,
pre .literal,
pre .smalltalk .symbol,
pre .smalltalk .char,
pre .go .constant,
pre .change,
pre .markdown .bullet,
pre .markdown .link_url {
color: #080;
}
pre .label,
pre .javadoc,
pre .ruby .string,
pre .decorator,
pre .filter .argument,
pre .localvars,
pre .array,
pre .attr_selector,
pre .important,
pre .pseudo,
pre .pi,
pre .doctype,
pre .deletion,
pre .envvar,
pre .shebang,
pre .apache .sqbracket,
pre .nginx .built_in,
pre .tex .formula,
pre .erlang_repl .reserved,
pre .prompt,
pre .markdown .link_label,
pre .vhdl .attribute,
pre .clojure .attribute,
pre .coffeescript .property {
color: #88F
}
pre .keyword,
pre .id,
pre .phpdoc,
pre .title,
pre .built_in,
pre .aggregate,
pre .css .tag,
pre .javadoctag,
pre .phpdoc,
pre .yardoctag,
pre .smalltalk .class,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .go .typename,
pre .tex .command,
pre .markdown .strong,
pre .request,
pre .status {
font-weight: bold;
}
pre .markdown .emphasis {
font-style: italic;
}
pre .nginx .built_in {
font-weight: normal;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/*
FAR Style (c) MajestiC <majestic2k@gmail.com>
*/
pre code {
display: block; padding: 0.5em;
background: #000080;
}
pre code,
pre .subst {
color: #0FF;
}
pre .string,
pre .ruby .string,
pre .haskell .type,
pre .tag .value,
pre .css .rules .value,
pre .css .rules .value .number,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .addition,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .command,
pre .clojure .title {
color: #FF0;
}
pre .keyword,
pre .css .id,
pre .title,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .xml .tag .title,
pre .winutils,
pre .flow,
pre .change,
pre .envvar,
pre .bash .variable,
pre .tex .special,
pre .clojure .built_in {
color: #FFF;
}
pre .comment,
pre .phpdoc,
pre .javadoc,
pre .java .annotation,
pre .template_comment,
pre .deletion,
pre .apache .sqbracket,
pre .tex .formula {
color: #888;
}
pre .number,
pre .date,
pre .regexp,
pre .literal,
pre .smalltalk .symbol,
pre .smalltalk .char,
pre .clojure .attribute {
color: #0F0;
}
pre .python .decorator,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .xml .pi,
pre .diff .header,
pre .chunk,
pre .shebang,
pre .nginx .built_in,
pre .prompt {
color: #008080;
}
pre .keyword,
pre .css .id,
pre .title,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .winutils,
pre .flow,
pre .apache .tag,
pre .nginx .built_in,
pre .tex .command,
pre .tex .special,
pre .request,
pre .status {
font-weight: bold;
}
/*
github.com style (c) Vasily Polovnyov <vast@whiteants.net>
*/
pre code {
display: block; padding: 0.5em;
color: #333;
background: #f8f8ff
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .javadoc {
color: #998;
font-style: italic
}
pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .nginx .title,
pre .subst,
pre .request,
pre .status {
color: #333;
font-weight: bold
}
pre .number,
pre .hexcolor,
pre .ruby .constant {
color: #099;
}
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula {
color: #d14
}
pre .title,
pre .id {
color: #900;
font-weight: bold
}
pre .javascript .title,
pre .lisp .title,
pre .clojure .title,
pre .subst {
font-weight: normal
}
pre .class .title,
pre .haskell .type,
pre .vhdl .literal,
pre .tex .command {
color: #458;
font-weight: bold
}
pre .tag,
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword {
color: #000080;
font-weight: normal
}
pre .attribute,
pre .variable,
pre .lisp .body {
color: #008080
}
pre .regexp {
color: #009926
}
pre .class {
color: #458;
font-weight: bold
}
pre .symbol,
pre .ruby .symbol .string,
pre .lisp .keyword,
pre .tex .special,
pre .prompt {
color: #990073
}
pre .built_in,
pre .lisp .title,
pre .clojure .built_in {
color: #0086b3
}
pre .preprocessor,
pre .pi,
pre .doctype,
pre .shebang,
pre .cdata {
color: #999;
font-weight: bold
}
pre .deletion {
background: #fdd
}
pre .addition {
background: #dfd
}
pre .diff .change {
background: #0086b3
}
pre .chunk {
color: #aaa
}
/*
Google Code style (c) Aahan Krish <geekpanth3r@gmail.com>
*/
pre code {
display: block; padding: 0.5em;
background: white; color: black;
}
pre .comment,
pre .template_comment,
pre .javadoc,
pre .comment * {
color: #800;
}
pre .keyword,
pre .method,
pre .list .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tag .title,
pre .setting .value,
pre .winutils,
pre .tex .command,
pre .http .title,
pre .request,
pre .status {
color: #008;
}
pre .envvar,
pre .tex .special {
color: #660;
}
pre .string,
pre .tag .value,
pre .cdata,
pre .filter .argument,
pre .attr_selector,
pre .apache .cbracket,
pre .date,
pre .regexp {
color: #080;
}
pre .sub .identifier,
pre .pi,
pre .tag,
pre .tag .keyword,
pre .decorator,
pre .ini .title,
pre .shebang,
pre .prompt,
pre .hexcolor,
pre .rules .value,
pre .css .value .number,
pre .literal,
pre .symbol,
pre .ruby .symbol .string,
pre .number,
pre .css .function,
pre .clojure .attribute {
color: #066;
}
pre .class .title,
pre .haskell .type,
pre .smalltalk .class,
pre .javadoctag,
pre .yardoctag,
pre .phpdoc,
pre .typename,
pre .tag .attribute,
pre .doctype,
pre .class .id,
pre .built_in,
pre .setting,
pre .params,
pre .variable,
pre .clojure .title {
color: #606;
}
pre .css .tag,
pre .rules .property,
pre .pseudo,
pre .subst {
color: #000;
}
pre .css .class, pre .css .id {
color: #9B703F;
}
pre .value .important {
color: #ff7700;
font-weight: bold;
}
pre .rules .keyword {
color: #C5AF75;
}
pre .annotation,
pre .apache .sqbracket,
pre .nginx .built_in {
color: #9B859D;
}
pre .preprocessor,
pre .preprocessor * {
color: #444;
}
pre .tex .formula {
background-color: #EEE;
font-style: italic;
}
pre .diff .header,
pre .chunk {
color: #808080;
font-weight: bold;
}
pre .diff .change {
background-color: #BCCFF9;
}
pre .addition {
background-color: #BAEEBA;
}
pre .deletion {
background-color: #FFC8BD;
}
pre .comment .yardoctag {
font-weight: bold;
}
/*
Intellij Idea-like styling (c) Vasily Polovnyov <vast@whiteants.net>
*/
pre code {
display: block; padding: 0.5em;
color: #000;
background: #fff;
}
pre .subst,
pre .title {
font-weight: normal;
color: #000;
}
pre .comment,
pre .template_comment,
pre .javadoc,
pre .diff .header {
color: #808080;
font-style: italic;
}
pre .annotation,
pre .decorator,
pre .preprocessor,
pre .doctype,
pre .pi,
pre .chunk,
pre .shebang,
pre .apache .cbracket,
pre .prompt,
pre .http .title {
color: #808000;
}
pre .tag,
pre .pi {
background: #efefef;
}
pre .tag .title,
pre .id,
pre .attr_selector,
pre .pseudo,
pre .literal,
pre .keyword,
pre .hexcolor,
pre .css .function,
pre .ini .title,
pre .css .class,
pre .list .title,
pre .clojure .title,
pre .nginx .title,
pre .tex .command,
pre .request,
pre .status {
font-weight: bold;
color: #000080;
}
pre .attribute,
pre .rules .keyword,
pre .number,
pre .date,
pre .regexp,
pre .tex .special {
font-weight: bold;
color: #0000ff;
}
pre .number,
pre .regexp {
font-weight: normal;
}
pre .string,
pre .value,
pre .filter .argument,
pre .css .function .params,
pre .apache .tag {
color: #008000;
font-weight: bold;
}
pre .symbol,
pre .ruby .symbol .string,
pre .char,
pre .tex .formula {
color: #000;
background: #d0eded;
font-style: italic;
}
pre .phpdoc,
pre .yardoctag,
pre .javadoctag {
text-decoration: underline;
}
pre .variable,
pre .envvar,
pre .apache .sqbracket,
pre .nginx .built_in {
color: #660e7a;
}
pre .addition {
background: #baeeba;
}
pre .deletion {
background: #ffc8bd;
}
pre .diff .change {
background: #bccff9;
}
/*
IR_Black style (c) Vasily Mikhailitchenko <vaskas@programica.ru>
*/
pre code {
display: block; padding: 0.5em;
background: #000; color: #f8f8f8;
}
pre .shebang,
pre .comment,
pre .template_comment,
pre .javadoc {
color: #7c7c7c;
}
pre .keyword,
pre .tag,
pre .tex .command,
pre .request,
pre .status,
pre .clojure .attribute {
color: #96CBFE;
}
pre .sub .keyword,
pre .method,
pre .list .title,
pre .nginx .title {
color: #FFFFB6;
}
pre .string,
pre .tag .value,
pre .cdata,
pre .filter .argument,
pre .attr_selector,
pre .apache .cbracket,
pre .date {
color: #A8FF60;
}
pre .subst {
color: #DAEFA3;
}
pre .regexp {
color: #E9C062;
}
pre .title,
pre .sub .identifier,
pre .pi,
pre .decorator,
pre .tex .special,
pre .haskell .type,
pre .constant,
pre .smalltalk .class,
pre .javadoctag,
pre .yardoctag,
pre .phpdoc,
pre .nginx .built_in {
color: #FFFFB6;
}
pre .symbol,
pre .ruby .symbol .string,
pre .number,
pre .variable,
pre .vbscript,
pre .literal {
color: #C6C5FE;
}
pre .css .tag {
color: #96CBFE;
}
pre .css .rules .property,
pre .css .id {
color: #FFFFB6;
}
pre .css .class {
color: #FFF;
}
pre .hexcolor {
color: #C6C5FE;
}
pre .number {
color:#FF73FD;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.7;
}
/*
Description: Magula style for highligh.js
Author: Ruslan Keba <rukeba@gmail.com>
Website: http://rukeba.com/
Version: 1.0
Date: 2009-01-03
Music: Aphex Twin / Xtal
*/
pre code {
display: block; padding: 0.5em;
background-color: #f4f4f4;
}
pre code,
pre .subst,
pre .lisp .title,
pre .clojure .built_in {
color: black;
}
pre .string,
pre .title,
pre .parent,
pre .tag .value,
pre .rules .value,
pre .rules .value .number,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .aggregate,
pre .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .addition,
pre .flow,
pre .stream,
pre .bash .variable,
pre .apache .cbracket {
color: #050;
}
pre .comment,
pre .annotation,
pre .template_comment,
pre .diff .header,
pre .chunk {
color: #777;
}
pre .number,
pre .date,
pre .regexp,
pre .literal,
pre .smalltalk .symbol,
pre .smalltalk .char,
pre .change,
pre .tex .special {
color: #800;
}
pre .label,
pre .javadoc,
pre .ruby .string,
pre .decorator,
pre .filter .argument,
pre .localvars,
pre .array,
pre .attr_selector,
pre .pseudo,
pre .pi,
pre .doctype,
pre .deletion,
pre .envvar,
pre .shebang,
pre .apache .sqbracket,
pre .nginx .built_in,
pre .tex .formula,
pre .prompt,
pre .clojure .attribute {
color: #00e;
}
pre .keyword,
pre .id,
pre .phpdoc,
pre .title,
pre .built_in,
pre .aggregate,
pre .smalltalk .class,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .xml .tag,
pre .tex .command,
pre .request,
pre .status {
font-weight: bold;
color: navy;
}
pre .nginx .built_in {
font-weight: normal;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* --- */
pre .apache .tag {
font-weight: bold;
color: blue;
}
/*
Monokai style - ported by Luigi Maselli - http://grigio.org
*/
pre code {
display: block; padding: 0.5em;
background: #272822;
}
pre .tag,
pre .tag .title,
pre .keyword,
pre .literal,
pre .change,
pre .winutils,
pre .flow,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tex .special {
color: #F92672;
}
pre code {
color: #DDD;
}
pre code .constant {
color: #66D9EF;
}
pre .class .title {
color: white;
}
pre .attribute,
pre .symbol,
pre .symbol .string,
pre .value,
pre .regexp {
color: #BF79DB;
}
pre .tag .value,
pre .string,
pre .subst,
pre .title,
pre .haskell .type,
pre .preprocessor,
pre .ruby .class .parent,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .javadoc,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .addition,
pre .stream,
pre .envvar,
pre .apache .tag,
pre .apache .cbracket,
pre .tex .command,
pre .prompt {
color: #A6E22E;
}
pre .comment,
pre .java .annotation,
pre .python .decorator,
pre .template_comment,
pre .pi,
pre .doctype,
pre .deletion,
pre .shebang,
pre .apache .sqbracket,
pre .tex .formula {
color: #75715E;
}
pre .keyword,
pre .literal,
pre .css .id,
pre .phpdoc,
pre .title,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .diff .header,
pre .chunk,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .tex .special,
pre .request,
pre .status {
font-weight: bold;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/*
Pojoaque Style by Jason Tate
http://web-cms-designs.com/ftopict-10-pojoaque-style-for-highlight-js-code-highlighter.html
Based on Solarized Style from http://ethanschoonover.com/solarized
*/
pre code {
display: block; padding: 0.5em;
color: #DCCF8F;
background: url(./pojoaque.jpg) repeat scroll left top #181914;
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .lisp .string,
pre .javadoc {
color: #586e75;
font-style: italic;
}
pre .keyword,
pre .css .rule .keyword,
pre .winutils,
pre .javascript .title,
pre .method,
pre .addition,
pre .css .tag,
pre .clojure .title,
pre .nginx .title {
color: #B64926;
}
pre .number,
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
color: #468966;
}
pre .title,
pre .localvars,
pre .function .title,
pre .chunk,
pre .decorator,
pre .built_in,
pre .lisp .title,
pre .clojure .built_in,
pre .identifier,
pre .id {
color: #FFB03B;
}
pre .attribute,
pre .variable,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .type {
color: #b58900;
}
pre .css .attribute {
color: #b89859;
}
pre .css .number,pre .css .hexcolor{
color: #DCCF8F;
}
pre .css .class {
color: #d3a60c;
}
pre .preprocessor,
pre .pi,
pre .shebang,
pre .symbol,
pre .symbol .string,
pre .diff .change,
pre .special,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata {
color: #cb4b16;
}
pre .deletion {
color: #dc322f;
}
pre .tex .formula {
background: #073642;
}

Sorry, the diff of this file is not supported yet

/*
Style with support for rainbow parens
*/
pre ::-moz-selection{ background: #FF5E99; color:#fff; text-shadow: none; }
pre ::selection { background:#FF5E99; color:#fff; text-shadow: none; }
pre code {
display: block; padding: 0.5em;
background: #474949; color: #D1D9E1;
}
pre .body,
pre .collection {
color: #D1D9E1;
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .lisp .string,
pre .javadoc {
color: #969896;
font-style: italic;
}
pre .keyword,
pre .clojure .attribute,
pre .winutils,
pre .javascript .title,
pre .addition,
pre .css .tag {
color: #cc99cc;
}
pre .number { color: #f99157; }
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
color: #8abeb7;
}
pre .title,
pre .localvars,
pre .function .title,
pre .chunk,
pre .decorator,
pre .built_in,
pre .lisp .title,
pre .identifier
{
color: #b5bd68;
}
pre .class .keyword
{
color: #f2777a;
}
pre .variable,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .label,
pre .id,
pre .lisp .title,
pre .clojure .title .built_in {
color: #ffcc66;
}
pre .tag .title,
pre .rules .property,
pre .django .tag .keyword,
pre .clojure .title .built_in {
font-weight: bold;
}
pre .attribute,
pre .clojure .title {
color: #81a2be;
}
pre .preprocessor,
pre .pi,
pre .shebang,
pre .symbol,
pre .symbol .string,
pre .diff .change,
pre .special,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata {
color: #f99157;
}
pre .deletion {
color: #dc322f;
}
pre .tex .formula {
background: #eee8d5;
}
/*
School Book style from goldblog.com.ua (c) Zaripov Yura <yur4ik7@ukr.net>
*/
pre code {
display: block; padding: 15px 0.5em 0.5em 30px;
font-size: 11px !important;
line-height:16px !important;
}
pre{
background:#f6f6ae url(./school_book.png);
border-top: solid 2px #d2e8b9;
border-bottom: solid 1px #d2e8b9;
}
pre .keyword,
pre .literal,
pre .change,
pre .winutils,
pre .flow,
pre .lisp .title,
pre .clojure .built_in,
pre .nginx .title,
pre .tex .special {
color:#005599;
font-weight:bold;
}
pre code,
pre .subst,
pre .tag .keyword {
color: #3E5915;
}
pre .string,
pre .title,
pre .haskell .type,
pre .tag .value,
pre .css .rules .value,
pre .preprocessor,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .ruby .class .parent,
pre .built_in,
pre .sql .aggregate,
pre .django .template_tag,
pre .django .variable,
pre .smalltalk .class,
pre .javadoc,
pre .ruby .string,
pre .django .filter .argument,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .attr_selector,
pre .pseudo,
pre .addition,
pre .stream,
pre .envvar,
pre .apache .tag,
pre .apache .cbracket,
pre .nginx .built_in,
pre .tex .command {
color: #2C009F;
}
pre .comment,
pre .java .annotation,
pre .python .decorator,
pre .template_comment,
pre .pi,
pre .doctype,
pre .deletion,
pre .shebang,
pre .apache .sqbracket {
color: #E60415;
}
pre .keyword,
pre .literal,
pre .css .id,
pre .phpdoc,
pre .title,
pre .haskell .type,
pre .vbscript .built_in,
pre .sql .aggregate,
pre .rsl .built_in,
pre .smalltalk .class,
pre .xml .tag .title,
pre .diff .header,
pre .chunk,
pre .winutils,
pre .bash .variable,
pre .apache .tag,
pre .tex .command,
pre .request,
pre .status {
font-weight: bold;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}

Sorry, the diff of this file is not supported yet

/* Tomorrow Night Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #969896;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #cc6666;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #de935f;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #f0c674;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #b5bd68;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #8abeb7;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #81a2be;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #b294bb;
}
pre code {
display: block;
background: #1d1f21;
color: #c5c8c6;
font-family: Menlo, Monaco, Consolas, monospace;
line-height: 1.5;
border: 1px solid #ccc;
padding: 10px;
}
/*
Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
*/
pre code {
display: block; padding: 0.5em;
background: #002b36; color: #839496;
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .pi,
pre .lisp .string,
pre .javadoc {
color: #586e75;
font-style: italic;
}
pre .keyword,
pre .winutils,
pre .method,
pre .addition,
pre .css .tag,
pre .request,
pre .status,
pre .nginx .title {
color: #859900;
}
pre .number,
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
color: #2aa198;
}
pre .title,
pre .localvars,
pre .chunk,
pre .decorator,
pre .built_in,
pre .identifier,
pre .vhdl .literal,
pre .id {
color: #268bd2;
}
pre .attribute,
pre .variable,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .type {
color: #b58900;
}
pre .preprocessor,
pre .preprocessor .keyword,
pre .shebang,
pre .symbol,
pre .symbol .string,
pre .diff .change,
pre .special,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata,
pre .clojure .title {
color: #cb4b16;
}
pre .deletion {
color: #dc322f;
}
pre .tex .formula {
background: #073642;
}
/*
Orginal Style from ethanschoonover.com/solarized (c) Jeremy Hull <sourdrums@gmail.com>
*/
pre code {
display: block; padding: 0.5em;
background: #fdf6e3; color: #657b83;
}
pre .comment,
pre .template_comment,
pre .diff .header,
pre .doctype,
pre .pi,
pre .lisp .string,
pre .javadoc {
color: #93a1a1;
font-style: italic;
}
pre .keyword,
pre .winutils,
pre .method,
pre .addition,
pre .css .tag,
pre .request,
pre .status,
pre .nginx .title {
color: #859900;
}
pre .number,
pre .command,
pre .string,
pre .tag .value,
pre .phpdoc,
pre .tex .formula,
pre .regexp,
pre .hexcolor {
color: #2aa198;
}
pre .title,
pre .localvars,
pre .chunk,
pre .decorator,
pre .built_in,
pre .identifier,
pre .vhdl .literal,
pre .id {
color: #268bd2;
}
pre .attribute,
pre .variable,
pre .lisp .body,
pre .smalltalk .number,
pre .constant,
pre .class .title,
pre .parent,
pre .haskell .type {
color: #b58900;
}
pre .preprocessor,
pre .preprocessor .keyword,
pre .shebang,
pre .symbol,
pre .symbol .string,
pre .diff .change,
pre .special,
pre .attr_selector,
pre .important,
pre .subst,
pre .cdata,
pre .clojure .title {
color: #cb4b16;
}
pre .deletion {
color: #dc322f;
}
pre .tex .formula {
background: #eee8d5;
}
/*
Sunburst-like style (c) Vasily Polovnyov <vast@whiteants.net>
*/
pre code {
display: block; padding: 0.5em;
background: #000; color: #f8f8f8;
}
pre .comment,
pre .template_comment,
pre .javadoc {
color: #aeaeae;
font-style: italic;
}
pre .keyword,
pre .ruby .function .keyword,
pre .request,
pre .status,
pre .nginx .title {
color: #E28964;
}
pre .function .keyword,
pre .sub .keyword,
pre .method,
pre .list .title {
color: #99CF50;
}
pre .string,
pre .tag .value,
pre .cdata,
pre .filter .argument,
pre .attr_selector,
pre .apache .cbracket,
pre .date,
pre .tex .command {
color: #65B042;
}
pre .subst {
color: #DAEFA3;
}
pre .regexp {
color: #E9C062;
}
pre .title,
pre .sub .identifier,
pre .pi,
pre .tag,
pre .tag .keyword,
pre .decorator,
pre .shebang,
pre .prompt {
color: #89BDFF;
}
pre .class .title,
pre .haskell .type,
pre .smalltalk .class,
pre .javadoctag,
pre .yardoctag,
pre .phpdoc {
text-decoration: underline;
}
pre .symbol,
pre .ruby .symbol .string,
pre .number {
color: #3387CC;
}
pre .params,
pre .variable,
pre .clojure .attribute {
color: #3E87E3;
}
pre .css .tag,
pre .rules .property,
pre .pseudo,
pre .tex .special {
color: #CDA869;
}
pre .css .class {
color: #9B703F;
}
pre .rules .keyword {
color: #C5AF75;
}
pre .rules .value {
color: #CF6A4C;
}
pre .css .id {
color: #8B98AB;
}
pre .annotation,
pre .apache .sqbracket,
pre .nginx .built_in {
color: #9B859D;
}
pre .preprocessor {
color: #8996A8;
}
pre .hexcolor,
pre .css .value .number {
color: #DD7B3B;
}
pre .css .function {
color: #DAD085;
}
pre .diff .header,
pre .chunk,
pre .tex .formula {
background-color: #0E2231;
color: #F8F8F8;
font-style: italic;
}
pre .diff .change {
background-color: #4A410D;
color: #F8F8F8;
}
pre .addition {
background-color: #253B22;
color: #F8F8F8;
}
pre .deletion {
background-color: #420E09;
color: #F8F8F8;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* Tomorrow Night Blue Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #7285b7;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #ff9da4;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #ffc58f;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #ffeead;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #d1f1a9;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #99ffff;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #bbdaff;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #ebbbff;
}
pre code {
display: block;
background: #002451;
color: white;
padding: 0.5em;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* Tomorrow Night Bright Theme */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #969896;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #d54e53;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #e78c45;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #e7c547;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #b9ca4a;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #70c0b1;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #7aa6da;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #c397d8;
}
pre code {
display: block;
background: black;
color: #eaeaea;
padding: 0.5em;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* Tomorrow Night Eighties Theme */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #999999;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #f2777a;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #f99157;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #ffcc66;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #99cc99;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #66cccc;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #6699cc;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #cc99cc;
}
pre code {
display: block;
background: #2d2d2d;
color: #cccccc;
padding: 0.5em;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* Tomorrow Night Theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
/* Original theme - https://github.com/chriskempson/tomorrow-theme */
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #969896;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #cc6666;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #de935f;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #f0c674;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #b5bd68;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #8abeb7;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #81a2be;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #b294bb;
}
pre code {
display: block;
background: #1d1f21;
color: #c5c8c6;
padding: 0.5em;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* http://jmblog.github.com/color-themes-for-google-code-highlightjs */
.tomorrow-comment, pre .comment, pre .title {
color: #8e908c;
}
.tomorrow-red, pre .variable, pre .attribute, pre .tag, pre .regexp, pre .ruby .constant, pre .xml .tag .title, pre .xml .pi, pre .xml .doctype, pre .html .doctype, pre .css .id, pre .css .class, pre .css .pseudo {
color: #c82829;
}
.tomorrow-orange, pre .number, pre .preprocessor, pre .built_in, pre .literal, pre .params, pre .constant {
color: #f5871f;
}
.tomorrow-yellow, pre .class, pre .ruby .class .title, pre .css .rules .attribute {
color: #eab700;
}
.tomorrow-green, pre .string, pre .value, pre .inheritance, pre .header, pre .ruby .symbol, pre .xml .cdata {
color: #718c00;
}
.tomorrow-aqua, pre .css .hexcolor {
color: #3e999f;
}
.tomorrow-blue, pre .function, pre .python .decorator, pre .python .title, pre .ruby .function .title, pre .ruby .title .keyword, pre .perl .sub, pre .javascript .title, pre .coffeescript .title {
color: #4271ae;
}
.tomorrow-purple, pre .keyword, pre .javascript .function {
color: #8959a8;
}
pre code {
display: block;
background: white;
color: #4d4d4c;
padding: 0.5em;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/*
Visual Studio-like style based on original C# coloring by Jason Diamond <jason@diamond.name>
*/
pre code {
display: block; padding: 0.5em;
}
pre .comment,
pre .annotation,
pre .template_comment,
pre .diff .header,
pre .chunk,
pre .apache .cbracket {
color: rgb(0, 128, 0);
}
pre .keyword,
pre .id,
pre .built_in,
pre .smalltalk .class,
pre .winutils,
pre .bash .variable,
pre .tex .command,
pre .request,
pre .status,
pre .nginx .title,
pre .xml .tag,
pre .xml .tag .value {
color: rgb(0, 0, 255);
}
pre .string,
pre .title,
pre .parent,
pre .tag .value,
pre .rules .value,
pre .rules .value .number,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .aggregate,
pre .template_tag,
pre .django .variable,
pre .addition,
pre .flow,
pre .stream,
pre .apache .tag,
pre .date,
pre .tex .formula {
color: rgb(163, 21, 21);
}
pre .ruby .string,
pre .decorator,
pre .filter .argument,
pre .localvars,
pre .array,
pre .attr_selector,
pre .pseudo,
pre .pi,
pre .doctype,
pre .deletion,
pre .envvar,
pre .shebang,
pre .preprocessor,
pre .userType,
pre .apache .sqbracket,
pre .nginx .built_in,
pre .tex .special,
pre .prompt {
color: rgb(43, 145, 175);
}
pre .phpdoc,
pre .javadoc,
pre .xmlDocTag {
color: rgb(128, 128, 128);
}
pre .vhdl .typename { font-weight: bold; }
pre .vhdl .string { color: #666666; }
pre .vhdl .literal { color: rgb(163, 21, 21); }
pre .vhdl .attribute { color: #00B0E8; }
pre .xml .attribute { color: rgb(255, 0, 0); }
/*
XCode style (c) Angel Garcia <angelgarcia.mail@gmail.com>
*/
pre code {
display: block; padding: 0.5em;
background: #fff; color: black;
}
pre .comment,
pre .template_comment,
pre .javadoc,
pre .comment * {
color: rgb(0,106,0);
}
pre .keyword,
pre .literal,
pre .nginx .title {
color: rgb(170,13,145);
}
pre .method,
pre .list .title,
pre .tag .title,
pre .setting .value,
pre .winutils,
pre .tex .command,
pre .http .title,
pre .request,
pre .status {
color: #008;
}
pre .envvar,
pre .tex .special {
color: #660;
}
pre .string {
color: rgb(196,26,22);
}
pre .tag .value,
pre .cdata,
pre .filter .argument,
pre .attr_selector,
pre .apache .cbracket,
pre .date,
pre .regexp {
color: #080;
}
pre .sub .identifier,
pre .pi,
pre .tag,
pre .tag .keyword,
pre .decorator,
pre .ini .title,
pre .shebang,
pre .prompt,
pre .hexcolor,
pre .rules .value,
pre .css .value .number,
pre .symbol,
pre .symbol .string,
pre .number,
pre .css .function,
pre .clojure .title,
pre .clojure .built_in {
color: rgb(28,0,207);
}
pre .class .title,
pre .haskell .type,
pre .smalltalk .class,
pre .javadoctag,
pre .yardoctag,
pre .phpdoc,
pre .typename,
pre .tag .attribute,
pre .doctype,
pre .class .id,
pre .built_in,
pre .setting,
pre .params,
pre .clojure .attribute {
color: rgb(92,38,153);
}
pre .variable {
color: rgb(63,110,116);
}
pre .css .tag,
pre .rules .property,
pre .pseudo,
pre .subst {
color: #000;
}
pre .css .class, pre .css .id {
color: #9B703F;
}
pre .value .important {
color: #ff7700;
font-weight: bold;
}
pre .rules .keyword {
color: #C5AF75;
}
pre .annotation,
pre .apache .sqbracket,
pre .nginx .built_in {
color: #9B859D;
}
pre .preprocessor,
pre .preprocessor * {
color: rgb(100,56,32);
}
pre .tex .formula {
background-color: #EEE;
font-style: italic;
}
pre .diff .header,
pre .chunk {
color: #808080;
font-weight: bold;
}
pre .diff .change {
background-color: #BCCFF9;
}
pre .addition {
background-color: #BAEEBA;
}
pre .deletion {
background-color: #FFC8BD;
}
pre .comment .yardoctag {
font-weight: bold;
}
pre .method .id {
color: #000;
}
/*
Zenburn style from voldmar.ru (c) Vladimir Epifanov <voldmar@voldmar.ru>
based on dark.css by Ivan Sagalaev
*/
pre code {
display: block; padding: 0.5em;
background: #3F3F3F;
color: #DCDCDC;
}
pre .keyword,
pre .tag,
pre .css .class,
pre .css .id,
pre .lisp .title,
pre .nginx .title,
pre .request,
pre .status,
pre .clojure .attribute {
color: #E3CEAB;
}
pre .django .template_tag,
pre .django .variable,
pre .django .filter .argument {
color: #DCDCDC;
}
pre .number,
pre .date {
color: #8CD0D3;
}
pre .dos .envvar,
pre .dos .stream,
pre .variable,
pre .apache .sqbracket {
color: #EFDCBC;
}
pre .dos .flow,
pre .diff .change,
pre .python .exception,
pre .python .built_in,
pre .literal,
pre .tex .special {
color: #EFEFAF;
}
pre .diff .chunk,
pre .subst {
color: #8F8F8F;
}
pre .dos .keyword,
pre .python .decorator,
pre .title,
pre .haskell .type,
pre .diff .header,
pre .ruby .class .parent,
pre .apache .tag,
pre .nginx .built_in,
pre .tex .command,
pre .prompt {
color: #efef8f;
}
pre .dos .winutils,
pre .ruby .symbol,
pre .ruby .symbol .string,
pre .ruby .string {
color: #DCA3A3;
}
pre .diff .deletion,
pre .string,
pre .tag .value,
pre .preprocessor,
pre .built_in,
pre .sql .aggregate,
pre .javadoc,
pre .smalltalk .class,
pre .smalltalk .localvars,
pre .smalltalk .array,
pre .css .rules .value,
pre .attr_selector,
pre .pseudo,
pre .apache .cbracket,
pre .tex .formula {
color: #CC9393;
}
pre .shebang,
pre .diff .addition,
pre .comment,
pre .java .annotation,
pre .template_comment,
pre .pi,
pre .doctype {
color: #7F9F7F;
}
pre .coffeescript .javascript,
pre .javascript .xml,
pre .tex .formula,
pre .xml .javascript,
pre .xml .vbscript,
pre .xml .css,
pre .xml .cdata {
opacity: 0.5;
}
/* Since we generate (both via Marked and JSDoc) empty anchors as jump link
targets, we can target them here to offset said jump links. */
a[name] {
display: block; position: relative; top: -70px; visibility: hidden;
}
.column {
padding-top: 20px;
padding-bottom: 20px;
}
.scroll-spy-target {
border-right: 1px solid #ccc;
}
.readability {
padding-left: 40px;
max-width: 700px;
}
@media (min-width: 992px) {
.column {
position: absolute;
top: 52px;
bottom: 0;
overflow-y: auto;
}
}
.nav-pills a {
color: #08592b;
}
.nav .depth-1 > a { font-size: 170%; }
.nav .depth-2 > a { font-size: 140%; }
.nav .depth-3 > a { font-size: 120%; }
.nav .depth-4 > a { font-size: 100%; font-weight: 500; }
.nav .depth-5 > a { font-size: 90%; font-weight: 500; }
.nav .depth-6 > a { font-size: 80%; font-weight: 500; }
.nav-pills li > a {
padding: 3px 6px;
}
.nav .depth-1 { margin: 0; padding: 0 0 0 0; }
.nav .depth-2 { margin: 0; padding: 20px 0 0 0; }
.nav .depth-3 { margin: 0; padding: 10px 0 0 10px; }
.nav .depth-4 { margin: 0; padding: 0 0 0 20px; }
.nav .depth-5 { margin: 0; padding: 0 0 0 40px; }
.nav .depth-6 { margin: 0; padding: 0 0 0 60px; }
/* Annotations */
.code-arguments-hdr {
font-size: 120%;
margin-top: 20px;
margin-bottom: 10px;
display: block;
}
code {
font-family: 'Courier New','Andale Mono',monospace !important;
font-weight: bold;
background: none;
}
.code-ref {
margin-left: -20px;
}
.code-arg {
margin-top: 10px;
margin-left: 20px;
}
.code-arg-types {
font-weight: bold;
}
.code-arg-desc {
margin-top: 10px;
}
.intentionally-left-blank {
display: block;
height: 100%;
}
.params {
width: 100%;
border: solid 1px #ccc;
}
.params td, .params th {
padding: 5px;
vertical-align: middle;
border: solid 1px #ccc;
}
.params .hdr-name {
width: 20%;
}
.params .hdr-type {
width: 20%;
}
.params .hdr-desc {
width: 60%;
}
.params th {
background: #e8e8e8;
}
.params p {
margin: 0;
}
.params ul {
margin: 0;
}
.params ul + * {
margin-top: 10px;
}
.params pre {
margin: 0;
}
.params pre + * {
margin-top: 10px;
}
.params p + * {
margin-top: 10px;
}
section + section {
margin-top: 24px;
}
section {
margin-left: 30px;
}

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is not supported yet

Sorry, the diff of this file is too big to display

$(document).ready(function () {
// Switch from empty anchors to id-ed headings
$('a[name]').get().forEach(function (i) {
var $i = $(i);
$i.next().attr('id', $i.attr('name'));
$i.detach();
});
$('.scroll-spy-target').on('activate.bs.scrollspy', function (event) {
var $this = $(this);
var $target = $(event.target);
$this.scrollTo($target, 0, {
offset: -($this.innerHeight() / 2)
});
});
});
/**
* bootstrap.js v3.0.0 by @fat and @mdo
* Copyright 2013 Twitter Inc.
* http://www.apache.org/licenses/LICENSE-2.0
*/
if(!jQuery)throw new Error("Bootstrap requires jQuery");+function(a){"use strict";function b(){var a=document.createElement("bootstrap"),b={WebkitTransition:"webkitTransitionEnd",MozTransition:"transitionend",OTransition:"oTransitionEnd otransitionend",transition:"transitionend"};for(var c in b)if(void 0!==a.style[c])return{end:b[c]}}a.fn.emulateTransitionEnd=function(b){var c=!1,d=this;a(this).one(a.support.transition.end,function(){c=!0});var e=function(){c||a(d).trigger(a.support.transition.end)};return setTimeout(e,b),this},a(function(){a.support.transition=b()})}(window.jQuery),+function(a){"use strict";var b='[data-dismiss="alert"]',c=function(c){a(c).on("click",b,this.close)};c.prototype.close=function(b){function c(){f.trigger("closed.bs.alert").remove()}var d=a(this),e=d.attr("data-target");e||(e=d.attr("href"),e=e&&e.replace(/.*(?=#[^\s]*$)/,""));var f=a(e);b&&b.preventDefault(),f.length||(f=d.hasClass("alert")?d:d.parent()),f.trigger(b=a.Event("close.bs.alert")),b.isDefaultPrevented()||(f.removeClass("in"),a.support.transition&&f.hasClass("fade")?f.one(a.support.transition.end,c).emulateTransitionEnd(150):c())};var d=a.fn.alert;a.fn.alert=function(b){return this.each(function(){var d=a(this),e=d.data("bs.alert");e||d.data("bs.alert",e=new c(this)),"string"==typeof b&&e[b].call(d)})},a.fn.alert.Constructor=c,a.fn.alert.noConflict=function(){return a.fn.alert=d,this},a(document).on("click.bs.alert.data-api",b,c.prototype.close)}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d)};b.DEFAULTS={loadingText:"loading..."},b.prototype.setState=function(a){var b="disabled",c=this.$element,d=c.is("input")?"val":"html",e=c.data();a+="Text",e.resetText||c.data("resetText",c[d]()),c[d](e[a]||this.options[a]),setTimeout(function(){"loadingText"==a?c.addClass(b).attr(b,b):c.removeClass(b).removeAttr(b)},0)},b.prototype.toggle=function(){var a=this.$element.closest('[data-toggle="buttons"]');if(a.length){var b=this.$element.find("input").prop("checked",!this.$element.hasClass("active")).trigger("change");"radio"===b.prop("type")&&a.find(".active").removeClass("active")}this.$element.toggleClass("active")};var c=a.fn.button;a.fn.button=function(c){return this.each(function(){var d=a(this),e=d.data("bs.button"),f="object"==typeof c&&c;e||d.data("bs.button",e=new b(this,f)),"toggle"==c?e.toggle():c&&e.setState(c)})},a.fn.button.Constructor=b,a.fn.button.noConflict=function(){return a.fn.button=c,this},a(document).on("click.bs.button.data-api","[data-toggle^=button]",function(b){var c=a(b.target);c.hasClass("btn")||(c=c.closest(".btn")),c.button("toggle"),b.preventDefault()})}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.$element=a(b),this.$indicators=this.$element.find(".carousel-indicators"),this.options=c,this.paused=this.sliding=this.interval=this.$active=this.$items=null,"hover"==this.options.pause&&this.$element.on("mouseenter",a.proxy(this.pause,this)).on("mouseleave",a.proxy(this.cycle,this))};b.DEFAULTS={interval:5e3,pause:"hover"},b.prototype.cycle=function(b){return b||(this.paused=!1),this.interval&&clearInterval(this.interval),this.options.interval&&!this.paused&&(this.interval=setInterval(a.proxy(this.next,this),this.options.interval)),this},b.prototype.getActiveIndex=function(){return this.$active=this.$element.find(".item.active"),this.$items=this.$active.parent().children(),this.$items.index(this.$active)},b.prototype.to=function(b){var c=this,d=this.getActiveIndex();return b>this.$items.length-1||0>b?void 0:this.sliding?this.$element.one("slid",function(){c.to(b)}):d==b?this.pause().cycle():this.slide(b>d?"next":"prev",a(this.$items[b]))},b.prototype.pause=function(b){return b||(this.paused=!0),this.$element.find(".next, .prev").length&&a.support.transition.end&&(this.$element.trigger(a.support.transition.end),this.cycle(!0)),this.interval=clearInterval(this.interval),this},b.prototype.next=function(){return this.sliding?void 0:this.slide("next")},b.prototype.prev=function(){return this.sliding?void 0:this.slide("prev")},b.prototype.slide=function(b,c){var d=this.$element.find(".item.active"),e=c||d[b](),f=this.interval,g="next"==b?"left":"right",h="next"==b?"first":"last",i=this;this.sliding=!0,f&&this.pause(),e=e.length?e:this.$element.find(".item")[h]();var j=a.Event("slide.bs.carousel",{relatedTarget:e[0],direction:g});if(!e.hasClass("active")){if(this.$indicators.length&&(this.$indicators.find(".active").removeClass("active"),this.$element.one("slid",function(){var b=a(i.$indicators.children()[i.getActiveIndex()]);b&&b.addClass("active")})),a.support.transition&&this.$element.hasClass("slide")){if(this.$element.trigger(j),j.isDefaultPrevented())return;e.addClass(b),e[0].offsetWidth,d.addClass(g),e.addClass(g),d.one(a.support.transition.end,function(){e.removeClass([b,g].join(" ")).addClass("active"),d.removeClass(["active",g].join(" ")),i.sliding=!1,setTimeout(function(){i.$element.trigger("slid")},0)}).emulateTransitionEnd(600)}else{if(this.$element.trigger(j),j.isDefaultPrevented())return;d.removeClass("active"),e.addClass("active"),this.sliding=!1,this.$element.trigger("slid")}return f&&this.cycle(),this}};var c=a.fn.carousel;a.fn.carousel=function(c){return this.each(function(){var d=a(this),e=d.data("bs.carousel"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c),g="string"==typeof c?c:f.slide;e||d.data("bs.carousel",e=new b(this,f)),"number"==typeof c?e.to(c):g?e[g]():f.interval&&e.pause().cycle()})},a.fn.carousel.Constructor=b,a.fn.carousel.noConflict=function(){return a.fn.carousel=c,this},a(document).on("click.bs.carousel.data-api","[data-slide], [data-slide-to]",function(b){var c,d=a(this),e=a(d.attr("data-target")||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,"")),f=a.extend({},e.data(),d.data()),g=d.attr("data-slide-to");g&&(f.interval=!1),e.carousel(f),(g=d.attr("data-slide-to"))&&e.data("bs.carousel").to(g),b.preventDefault()}),a(window).on("load",function(){a('[data-ride="carousel"]').each(function(){var b=a(this);b.carousel(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.$element=a(c),this.options=a.extend({},b.DEFAULTS,d),this.transitioning=null,this.options.parent&&(this.$parent=a(this.options.parent)),this.options.toggle&&this.toggle()};b.DEFAULTS={toggle:!0},b.prototype.dimension=function(){var a=this.$element.hasClass("width");return a?"width":"height"},b.prototype.show=function(){if(!this.transitioning&&!this.$element.hasClass("in")){var b=a.Event("show.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.$parent&&this.$parent.find("> .accordion-group > .in");if(c&&c.length){var d=c.data("bs.collapse");if(d&&d.transitioning)return;c.collapse("hide"),d||c.data("bs.collapse",null)}var e=this.dimension();this.$element.removeClass("collapse").addClass("collapsing")[e](0),this.transitioning=1;var f=function(){this.$element.removeClass("collapsing").addClass("in")[e]("auto"),this.transitioning=0,this.$element.trigger("shown.bs.collapse")};if(!a.support.transition)return f.call(this);var g=a.camelCase(["scroll",e].join("-"));this.$element.one(a.support.transition.end,a.proxy(f,this)).emulateTransitionEnd(350)[e](this.$element[0][g])}}},b.prototype.hide=function(){if(!this.transitioning&&this.$element.hasClass("in")){var b=a.Event("hide.bs.collapse");if(this.$element.trigger(b),!b.isDefaultPrevented()){var c=this.dimension();this.$element[c](this.$element[c]())[0].offsetHeight,this.$element.addClass("collapsing").removeClass("collapse").removeClass("in"),this.transitioning=1;var d=function(){this.transitioning=0,this.$element.trigger("hidden.bs.collapse").removeClass("collapsing").addClass("collapse")};return a.support.transition?(this.$element[c](0).one(a.support.transition.end,a.proxy(d,this)).emulateTransitionEnd(350),void 0):d.call(this)}}},b.prototype.toggle=function(){this[this.$element.hasClass("in")?"hide":"show"]()};var c=a.fn.collapse;a.fn.collapse=function(c){return this.each(function(){var d=a(this),e=d.data("bs.collapse"),f=a.extend({},b.DEFAULTS,d.data(),"object"==typeof c&&c);e||d.data("bs.collapse",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.collapse.Constructor=b,a.fn.collapse.noConflict=function(){return a.fn.collapse=c,this},a(document).on("click.bs.collapse.data-api","[data-toggle=collapse]",function(b){var c,d=a(this),e=d.attr("data-target")||b.preventDefault()||(c=d.attr("href"))&&c.replace(/.*(?=#[^\s]+$)/,""),f=a(e),g=f.data("bs.collapse"),h=g?"toggle":d.data(),i=d.attr("data-parent"),j=i&&a(i);g&&g.transitioning||(j&&j.find('[data-toggle=collapse][data-parent="'+i+'"]').not(d).addClass("collapsed"),d[f.hasClass("in")?"addClass":"removeClass"]("collapsed")),f.collapse(h)})}(window.jQuery),+function(a){"use strict";function b(){a(d).remove(),a(e).each(function(b){var d=c(a(this));d.hasClass("open")&&(d.trigger(b=a.Event("hide.bs.dropdown")),b.isDefaultPrevented()||d.removeClass("open").trigger("hidden.bs.dropdown"))})}function c(b){var c=b.attr("data-target");c||(c=b.attr("href"),c=c&&/#/.test(c)&&c.replace(/.*(?=#[^\s]*$)/,""));var d=c&&a(c);return d&&d.length?d:b.parent()}var d=".dropdown-backdrop",e="[data-toggle=dropdown]",f=function(b){a(b).on("click.bs.dropdown",this.toggle)};f.prototype.toggle=function(d){var e=a(this);if(!e.is(".disabled, :disabled")){var f=c(e),g=f.hasClass("open");if(b(),!g){if("ontouchstart"in document.documentElement&&a('<div class="dropdown-backdrop"/>').insertAfter(a(this)).on("click",b),f.trigger(d=a.Event("show.bs.dropdown")),d.isDefaultPrevented())return;f.toggleClass("open").trigger("shown.bs.dropdown")}return e.focus(),!1}},f.prototype.keydown=function(b){if(/(38|40|27)/.test(b.keyCode)){var d=a(this);if(b.preventDefault(),b.stopPropagation(),!d.is(".disabled, :disabled")){var f=c(d),g=f.hasClass("open");if(!g||g&&27==b.keyCode)return 27==b.which&&f.find(e).focus(),d.click();var h=a("[role=menu] li:not(.divider):visible a",f);if(h.length){var i=h.index(h.filter(":focus"));38==b.keyCode&&i>0&&i--,40==b.keyCode&&i<h.length-1&&i++,~i||(i=0),h.eq(i).focus()}}}};var g=a.fn.dropdown;a.fn.dropdown=function(b){return this.each(function(){var c=a(this),d=c.data("dropdown");d||c.data("dropdown",d=new f(this)),"string"==typeof b&&d[b].call(c)})},a.fn.dropdown.Constructor=f,a.fn.dropdown.noConflict=function(){return a.fn.dropdown=g,this},a(document).on("click.bs.dropdown.data-api",b).on("click.bs.dropdown.data-api",".dropdown form",function(a){a.stopPropagation()}).on("click.bs.dropdown.data-api",e,f.prototype.toggle).on("keydown.bs.dropdown.data-api",e+", [role=menu]",f.prototype.keydown)}(window.jQuery),+function(a){"use strict";var b=function(b,c){this.options=c,this.$element=a(b).on("click.dismiss.modal",'[data-dismiss="modal"]',a.proxy(this.hide,this)),this.$backdrop=this.isShown=null,this.options.remote&&this.$element.find(".modal-body").load(this.options.remote)};b.DEFAULTS={backdrop:!0,keyboard:!0,show:!0},b.prototype.toggle=function(a){return this[this.isShown?"hide":"show"](a)},b.prototype.show=function(b){var c=this,d=a.Event("show.bs.modal",{relatedTarget:b});this.$element.trigger(d),this.isShown||d.isDefaultPrevented()||(this.isShown=!0,this.escape(),this.backdrop(function(){var d=a.support.transition&&c.$element.hasClass("fade");c.$element.parent().length||c.$element.appendTo(document.body),c.$element.show(),d&&c.$element[0].offsetWidth,c.$element.addClass("in").attr("aria-hidden",!1),c.enforceFocus();var e=a.Event("shown.bs.modal",{relatedTarget:b});d?c.$element.one(a.support.transition.end,function(){c.$element.focus().trigger(e)}).emulateTransitionEnd(300):c.$element.focus().trigger(e)}))},b.prototype.hide=function(b){b&&b.preventDefault(),b=a.Event("hide.bs.modal"),this.$element.trigger(b),this.isShown&&!b.isDefaultPrevented()&&(this.isShown=!1,this.escape(),a(document).off("focusin.bs.modal"),this.$element.removeClass("in").attr("aria-hidden",!0),a.support.transition&&this.$element.hasClass("fade")?this.$element.one(a.support.transition.end,a.proxy(this.hideModal,this)).emulateTransitionEnd(300):this.hideModal())},b.prototype.enforceFocus=function(){a(document).off("focusin.bs.modal").on("focusin.bs.modal",a.proxy(function(a){this.$element[0]===a.target||this.$element.has(a.target).length||this.$element.focus()},this))},b.prototype.escape=function(){this.isShown&&this.options.keyboard?this.$element.on("keyup.dismiss.bs.modal",a.proxy(function(a){27==a.which&&this.hide()},this)):this.isShown||this.$element.off("keyup.dismiss.bs.modal")},b.prototype.hideModal=function(){var a=this;this.$element.hide(),this.backdrop(function(){a.removeBackdrop(),a.$element.trigger("hidden.bs.modal")})},b.prototype.removeBackdrop=function(){this.$backdrop&&this.$backdrop.remove(),this.$backdrop=null},b.prototype.backdrop=function(b){var c=this.$element.hasClass("fade")?"fade":"";if(this.isShown&&this.options.backdrop){var d=a.support.transition&&c;if(this.$backdrop=a('<div class="modal-backdrop '+c+'" />').appendTo(document.body),this.$element.on("click",a.proxy(function(a){a.target===a.currentTarget&&("static"==this.options.backdrop?this.$element[0].focus.call(this.$element[0]):this.hide.call(this))},this)),d&&this.$backdrop[0].offsetWidth,this.$backdrop.addClass("in"),!b)return;d?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()}else!this.isShown&&this.$backdrop?(this.$backdrop.removeClass("in"),a.support.transition&&this.$element.hasClass("fade")?this.$backdrop.one(a.support.transition.end,b).emulateTransitionEnd(150):b()):b&&b()};var c=a.fn.modal;a.fn.modal=function(c,d){return this.each(function(){var e=a(this),f=e.data("bs.modal"),g=a.extend({},b.DEFAULTS,e.data(),"object"==typeof c&&c);f||e.data("bs.modal",f=new b(this,g)),"string"==typeof c?f[c](d):g.show&&f.show(d)})},a.fn.modal.Constructor=b,a.fn.modal.noConflict=function(){return a.fn.modal=c,this},a(document).on("click.bs.modal.data-api",'[data-toggle="modal"]',function(b){var c=a(this),d=c.attr("href"),e=a(c.attr("data-target")||d&&d.replace(/.*(?=#[^\s]+$)/,"")),f=e.data("modal")?"toggle":a.extend({remote:!/#/.test(d)&&d},e.data(),c.data());b.preventDefault(),e.modal(f,this).one("hide",function(){c.is(":visible")&&c.focus()})}),a(function(){var b=a(document.body).on("shown.bs.modal",".modal",function(){b.addClass("modal-open")}).on("hidden.bs.modal",".modal",function(){b.removeClass("modal-open")})})}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.type=this.options=this.enabled=this.timeout=this.hoverState=this.$element=null,this.init("tooltip",a,b)};b.DEFAULTS={animation:!0,placement:"top",selector:!1,template:'<div class="tooltip"><div class="tooltip-arrow"></div><div class="tooltip-inner"></div></div>',trigger:"hover focus",title:"",delay:0,html:!1,container:!1},b.prototype.init=function(b,c,d){this.enabled=!0,this.type=b,this.$element=a(c),this.options=this.getOptions(d);for(var e=this.options.trigger.split(" "),f=e.length;f--;){var g=e[f];if("click"==g)this.$element.on("click."+this.type,this.options.selector,a.proxy(this.toggle,this));else if("manual"!=g){var h="hover"==g?"mouseenter":"focus",i="hover"==g?"mouseleave":"blur";this.$element.on(h+"."+this.type,this.options.selector,a.proxy(this.enter,this)),this.$element.on(i+"."+this.type,this.options.selector,a.proxy(this.leave,this))}}this.options.selector?this._options=a.extend({},this.options,{trigger:"manual",selector:""}):this.fixTitle()},b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.getOptions=function(b){return b=a.extend({},this.getDefaults(),this.$element.data(),b),b.delay&&"number"==typeof b.delay&&(b.delay={show:b.delay,hide:b.delay}),b},b.prototype.enter=function(b){var c=this.getDefaults(),d={};this._options&&a.each(this._options,function(a,b){c[a]!=b&&(d[a]=b)});var e=b instanceof this.constructor?b:a(b.currentTarget)[this.type](d).data("bs."+this.type);return clearTimeout(e.timeout),e.options.delay&&e.options.delay.show?(e.hoverState="in",e.timeout=setTimeout(function(){"in"==e.hoverState&&e.show()},e.options.delay.show),void 0):e.show()},b.prototype.leave=function(b){var c=b instanceof this.constructor?b:a(b.currentTarget)[this.type](this._options).data("bs."+this.type);return clearTimeout(c.timeout),c.options.delay&&c.options.delay.hide?(c.hoverState="out",c.timeout=setTimeout(function(){"out"==c.hoverState&&c.hide()},c.options.delay.hide),void 0):c.hide()},b.prototype.show=function(){var b=a.Event("show.bs."+this.type);if(this.hasContent()&&this.enabled){if(this.$element.trigger(b),b.isDefaultPrevented())return;var c=this.tip();this.setContent(),this.options.animation&&c.addClass("fade");var d="function"==typeof this.options.placement?this.options.placement.call(this,c[0],this.$element[0]):this.options.placement,e=/\s?auto?\s?/i,f=e.test(d);f&&(d=d.replace(e,"")||"top"),c.detach().css({top:0,left:0,display:"block"}).addClass(d),this.options.container?c.appendTo(this.options.container):c.insertAfter(this.$element);var g=this.getPosition(),h=c[0].offsetWidth,i=c[0].offsetHeight;if(f){var j=this.$element.parent(),k=d,l=document.documentElement.scrollTop||document.body.scrollTop,m="body"==this.options.container?window.innerWidth:j.outerWidth(),n="body"==this.options.container?window.innerHeight:j.outerHeight(),o="body"==this.options.container?0:j.offset().left;d="bottom"==d&&g.top+g.height+i-l>n?"top":"top"==d&&g.top-l-i<0?"bottom":"right"==d&&g.right+h>m?"left":"left"==d&&g.left-h<o?"right":d,c.removeClass(k).addClass(d)}var p=this.getCalculatedOffset(d,g,h,i);this.applyPlacement(p,d),this.$element.trigger("shown.bs."+this.type)}},b.prototype.applyPlacement=function(a,b){var c,d=this.tip(),e=d[0].offsetWidth,f=d[0].offsetHeight,g=parseInt(d.css("margin-top"),10),h=parseInt(d.css("margin-left"),10);isNaN(g)&&(g=0),isNaN(h)&&(h=0),a.top=a.top+g,a.left=a.left+h,d.offset(a).addClass("in");var i=d[0].offsetWidth,j=d[0].offsetHeight;if("top"==b&&j!=f&&(c=!0,a.top=a.top+f-j),/bottom|top/.test(b)){var k=0;a.left<0&&(k=-2*a.left,a.left=0,d.offset(a),i=d[0].offsetWidth,j=d[0].offsetHeight),this.replaceArrow(k-e+i,i,"left")}else this.replaceArrow(j-f,j,"top");c&&d.offset(a)},b.prototype.replaceArrow=function(a,b,c){this.arrow().css(c,a?50*(1-a/b)+"%":"")},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle();a.find(".tooltip-inner")[this.options.html?"html":"text"](b),a.removeClass("fade in top bottom left right")},b.prototype.hide=function(){function b(){c.detach()}var c=this.tip(),d=a.Event("hide.bs."+this.type);return this.$element.trigger(d),d.isDefaultPrevented()?void 0:(c.removeClass("in"),a.support.transition&&this.$tip.hasClass("fade")?c.one(a.support.transition.end,b).emulateTransitionEnd(150):b(),this.$element.trigger("hidden.bs."+this.type),this)},b.prototype.fixTitle=function(){var a=this.$element;(a.attr("title")||"string"!=typeof a.attr("data-original-title"))&&a.attr("data-original-title",a.attr("title")||"").attr("title","")},b.prototype.hasContent=function(){return this.getTitle()},b.prototype.getPosition=function(){var b=this.$element[0];return a.extend({},"function"==typeof b.getBoundingClientRect?b.getBoundingClientRect():{width:b.offsetWidth,height:b.offsetHeight},this.$element.offset())},b.prototype.getCalculatedOffset=function(a,b,c,d){return"bottom"==a?{top:b.top+b.height,left:b.left+b.width/2-c/2}:"top"==a?{top:b.top-d,left:b.left+b.width/2-c/2}:"left"==a?{top:b.top+b.height/2-d/2,left:b.left-c}:{top:b.top+b.height/2-d/2,left:b.left+b.width}},b.prototype.getTitle=function(){var a,b=this.$element,c=this.options;return a=b.attr("data-original-title")||("function"==typeof c.title?c.title.call(b[0]):c.title)},b.prototype.tip=function(){return this.$tip=this.$tip||a(this.options.template)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".tooltip-arrow")},b.prototype.validate=function(){this.$element[0].parentNode||(this.hide(),this.$element=null,this.options=null)},b.prototype.enable=function(){this.enabled=!0},b.prototype.disable=function(){this.enabled=!1},b.prototype.toggleEnabled=function(){this.enabled=!this.enabled},b.prototype.toggle=function(b){var c=b?a(b.currentTarget)[this.type](this._options).data("bs."+this.type):this;c.tip().hasClass("in")?c.leave(c):c.enter(c)},b.prototype.destroy=function(){this.hide().$element.off("."+this.type).removeData("bs."+this.type)};var c=a.fn.tooltip;a.fn.tooltip=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tooltip"),f="object"==typeof c&&c;e||d.data("bs.tooltip",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.tooltip.Constructor=b,a.fn.tooltip.noConflict=function(){return a.fn.tooltip=c,this}}(window.jQuery),+function(a){"use strict";var b=function(a,b){this.init("popover",a,b)};if(!a.fn.tooltip)throw new Error("Popover requires tooltip.js");b.DEFAULTS=a.extend({},a.fn.tooltip.Constructor.DEFAULTS,{placement:"right",trigger:"click",content:"",template:'<div class="popover"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'}),b.prototype=a.extend({},a.fn.tooltip.Constructor.prototype),b.prototype.constructor=b,b.prototype.getDefaults=function(){return b.DEFAULTS},b.prototype.setContent=function(){var a=this.tip(),b=this.getTitle(),c=this.getContent();a.find(".popover-title")[this.options.html?"html":"text"](b),a.find(".popover-content")[this.options.html?"html":"text"](c),a.removeClass("fade top bottom left right in"),""===a.find(".popover-title").html()&&a.find(".popover-title").hide()},b.prototype.hasContent=function(){return this.getTitle()||this.getContent()},b.prototype.getContent=function(){var a=this.$element,b=this.options;return a.attr("data-content")||("function"==typeof b.content?b.content.call(a[0]):b.content)},b.prototype.arrow=function(){return this.$arrow=this.$arrow||this.tip().find(".arrow")},b.prototype.tip=function(){return this.$tip||(this.$tip=a(this.options.template)),this.$tip};var c=a.fn.popover;a.fn.popover=function(c){return this.each(function(){var d=a(this),e=d.data("bs.popover"),f="object"==typeof c&&c;e||d.data("bs.popover",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.popover.Constructor=b,a.fn.popover.noConflict=function(){return a.fn.popover=c,this}}(window.jQuery),+function(a){"use strict";function b(c,d){var e,f=a.proxy(this.process,this);this.$element=a(c).is("body")?a(window):a(c),this.$body=a("body"),this.$scrollElement=this.$element.on("scroll.bs.scroll-spy.data-api",f),this.options=a.extend({},b.DEFAULTS,d),this.selector=(this.options.target||(e=a(c).attr("href"))&&e.replace(/.*(?=#[^\s]+$)/,"")||"")+" .nav li > a",this.offsets=a([]),this.targets=a([]),this.activeTarget=null,this.refresh(),this.process()}b.DEFAULTS={offset:10},b.prototype.refresh=function(){var b=this.$element[0]==window?"offset":"position";this.offsets=a([]),this.targets=a([]);var c=this;this.$body.find(this.selector).map(function(){var d=a(this),e=d.data("target")||d.attr("href"),f=/^#\w/.test(e)&&a(e);return f&&f.length&&[[f[b]().top+(!a.isWindow(c.$scrollElement.get(0))&&c.$scrollElement.scrollTop()),e]]||null}).sort(function(a,b){return a[0]-b[0]}).each(function(){c.offsets.push(this[0]),c.targets.push(this[1])})},b.prototype.process=function(){var a,b=this.$scrollElement.scrollTop()+this.options.offset,c=this.$scrollElement[0].scrollHeight||this.$body[0].scrollHeight,d=c-this.$scrollElement.height(),e=this.offsets,f=this.targets,g=this.activeTarget;if(b>=d)return g!=(a=f.last()[0])&&this.activate(a);for(a=e.length;a--;)g!=f[a]&&b>=e[a]&&(!e[a+1]||b<=e[a+1])&&this.activate(f[a])},b.prototype.activate=function(b){this.activeTarget=b,a(this.selector).parents(".active").removeClass("active");var c=this.selector+'[data-target="'+b+'"],'+this.selector+'[href="'+b+'"]',d=a(c).parents("li").addClass("active");d.parent(".dropdown-menu").length&&(d=d.closest("li.dropdown").addClass("active")),d.trigger("activate")};var c=a.fn.scrollspy;a.fn.scrollspy=function(c){return this.each(function(){var d=a(this),e=d.data("bs.scrollspy"),f="object"==typeof c&&c;e||d.data("bs.scrollspy",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.scrollspy.Constructor=b,a.fn.scrollspy.noConflict=function(){return a.fn.scrollspy=c,this},a(window).on("load",function(){a('[data-spy="scroll"]').each(function(){var b=a(this);b.scrollspy(b.data())})})}(window.jQuery),+function(a){"use strict";var b=function(b){this.element=a(b)};b.prototype.show=function(){var b=this.element,c=b.closest("ul:not(.dropdown-menu)"),d=b.attr("data-target");if(d||(d=b.attr("href"),d=d&&d.replace(/.*(?=#[^\s]*$)/,"")),!b.parent("li").hasClass("active")){var e=c.find(".active:last a")[0],f=a.Event("show.bs.tab",{relatedTarget:e});if(b.trigger(f),!f.isDefaultPrevented()){var g=a(d);this.activate(b.parent("li"),c),this.activate(g,g.parent(),function(){b.trigger({type:"shown.bs.tab",relatedTarget:e})})}}},b.prototype.activate=function(b,c,d){function e(){f.removeClass("active").find("> .dropdown-menu > .active").removeClass("active"),b.addClass("active"),g?(b[0].offsetWidth,b.addClass("in")):b.removeClass("fade"),b.parent(".dropdown-menu")&&b.closest("li.dropdown").addClass("active"),d&&d()}var f=c.find("> .active"),g=d&&a.support.transition&&f.hasClass("fade");g?f.one(a.support.transition.end,e).emulateTransitionEnd(150):e(),f.removeClass("in")};var c=a.fn.tab;a.fn.tab=function(c){return this.each(function(){var d=a(this),e=d.data("bs.tab");e||d.data("bs.tab",e=new b(this)),"string"==typeof c&&e[c]()})},a.fn.tab.Constructor=b,a.fn.tab.noConflict=function(){return a.fn.tab=c,this},a(document).on("click.bs.tab.data-api",'[data-toggle="tab"], [data-toggle="pill"]',function(b){b.preventDefault(),a(this).tab("show")})}(window.jQuery),+function(a){"use strict";var b=function(c,d){this.options=a.extend({},b.DEFAULTS,d),this.$window=a(window).on("scroll.bs.affix.data-api",a.proxy(this.checkPosition,this)).on("click.bs.affix.data-api",a.proxy(this.checkPositionWithEventLoop,this)),this.$element=a(c),this.affixed=this.unpin=null,this.checkPosition()};b.RESET="affix affix-top affix-bottom",b.DEFAULTS={offset:0},b.prototype.checkPositionWithEventLoop=function(){setTimeout(a.proxy(this.checkPosition,this),1)},b.prototype.checkPosition=function(){if(this.$element.is(":visible")){var c=a(document).height(),d=this.$window.scrollTop(),e=this.$element.offset(),f=this.options.offset,g=f.top,h=f.bottom;"object"!=typeof f&&(h=g=f),"function"==typeof g&&(g=f.top()),"function"==typeof h&&(h=f.bottom());var i=null!=this.unpin&&d+this.unpin<=e.top?!1:null!=h&&e.top+this.$element.height()>=c-h?"bottom":null!=g&&g>=d?"top":!1;this.affixed!==i&&(this.unpin&&this.$element.css("top",""),this.affixed=i,this.unpin="bottom"==i?e.top-d:null,this.$element.removeClass(b.RESET).addClass("affix"+(i?"-"+i:"")),"bottom"==i&&this.$element.offset({top:document.body.offsetHeight-h-this.$element.height()}))}};var c=a.fn.affix;a.fn.affix=function(c){return this.each(function(){var d=a(this),e=d.data("bs.affix"),f="object"==typeof c&&c;e||d.data("bs.affix",e=new b(this,f)),"string"==typeof c&&e[c]()})},a.fn.affix.Constructor=b,a.fn.affix.noConflict=function(){return a.fn.affix=c,this},a(window).on("load",function(){a('[data-spy="affix"]').each(function(){var b=a(this),c=b.data();c.offset=c.offset||{},c.offsetBottom&&(c.offset.bottom=c.offsetBottom),c.offsetTop&&(c.offset.top=c.offsetTop),b.affix(c)})})}(window.jQuery);

Sorry, the diff of this file is too big to display

/*!
* jQuery.ScrollTo
* Copyright (c) 2007-2012 Ariel Flesler - aflesler(at)gmail(dot)com | http://flesler.blogspot.com
* Dual licensed under MIT and GPL.
* Date: 4/09/2012
*
* @projectDescription Easy element scrolling using jQuery.
* http://flesler.blogspot.com/2007/10/jqueryscrollto.html
* @author Ariel Flesler
* @version 1.4.3.1
*
* @id jQuery.scrollTo
* @id jQuery.fn.scrollTo
* @param {String, Number, DOMElement, jQuery, Object} target Where to scroll the matched elements.
* The different options for target are:
* - A number position (will be applied to all axes).
* - A string position ('44', '100px', '+=90', etc ) will be applied to all axes
* - A jQuery/DOM element ( logically, child of the element to scroll )
* - A string selector, that will be relative to the element to scroll ( 'li:eq(2)', etc )
* - A hash { top:x, left:y }, x and y can be any kind of number/string like above.
* - A percentage of the container's dimension/s, for example: 50% to go to the middle.
* - The string 'max' for go-to-end.
* @param {Number, Function} duration The OVERALL length of the animation, this argument can be the settings object instead.
* @param {Object,Function} settings Optional set of settings or the onAfter callback.
* @option {String} axis Which axis must be scrolled, use 'x', 'y', 'xy' or 'yx'.
* @option {Number, Function} duration The OVERALL length of the animation.
* @option {String} easing The easing method for the animation.
* @option {Boolean} margin If true, the margin of the target element will be deducted from the final position.
* @option {Object, Number} offset Add/deduct from the end position. One number for both axes or { top:x, left:y }.
* @option {Object, Number} over Add/deduct the height/width multiplied by 'over', can be { top:x, left:y } when using both axes.
* @option {Boolean} queue If true, and both axis are given, the 2nd axis will only be animated after the first one ends.
* @option {Function} onAfter Function to be called after the scrolling ends.
* @option {Function} onAfterFirst If queuing is activated, this function will be called after the first scrolling ends.
* @return {jQuery} Returns the same jQuery object, for chaining.
*
* @desc Scroll to a fixed position
* @example $('div').scrollTo( 340 );
*
* @desc Scroll relatively to the actual position
* @example $('div').scrollTo( '+=340px', { axis:'y' } );
*
* @desc Scroll using a selector (relative to the scrolled element)
* @example $('div').scrollTo( 'p.paragraph:eq(2)', 500, { easing:'swing', queue:true, axis:'xy' } );
*
* @desc Scroll to a DOM element (same for jQuery object)
* @example var second_child = document.getElementById('container').firstChild.nextSibling;
* $('#container').scrollTo( second_child, { duration:500, axis:'x', onAfter:function(){
* alert('scrolled!!');
* }});
*
* @desc Scroll on both axes, to different values
* @example $('div').scrollTo( { top: 300, left:'+=200' }, { axis:'xy', offset:-20 } );
*/
;(function( $ ){
var $scrollTo = $.scrollTo = function( target, duration, settings ){
$(window).scrollTo( target, duration, settings );
};
$scrollTo.defaults = {
axis:'xy',
duration: parseFloat($.fn.jquery) >= 1.3 ? 0 : 1,
limit:true
};
// Returns the element that needs to be animated to scroll the window.
// Kept for backwards compatibility (specially for localScroll & serialScroll)
$scrollTo.window = function( scope ){
return $(window)._scrollable();
};
// Hack, hack, hack :)
// Returns the real elements to scroll (supports window/iframes, documents and regular nodes)
$.fn._scrollable = function(){
return this.map(function(){
var elem = this,
isWin = !elem.nodeName || $.inArray( elem.nodeName.toLowerCase(), ['iframe','#document','html','body'] ) != -1;
if( !isWin )
return elem;
var doc = (elem.contentWindow || elem).document || elem.ownerDocument || elem;
return /webkit/i.test(navigator.userAgent) || doc.compatMode == 'BackCompat' ?
doc.body :
doc.documentElement;
});
};
$.fn.scrollTo = function( target, duration, settings ){
if( typeof duration == 'object' ){
settings = duration;
duration = 0;
}
if( typeof settings == 'function' )
settings = { onAfter:settings };
if( target == 'max' )
target = 9e9;
settings = $.extend( {}, $scrollTo.defaults, settings );
// Speed is still recognized for backwards compatibility
duration = duration || settings.duration;
// Make sure the settings are given right
settings.queue = settings.queue && settings.axis.length > 1;
if( settings.queue )
// Let's keep the overall duration
duration /= 2;
settings.offset = both( settings.offset );
settings.over = both( settings.over );
return this._scrollable().each(function(){
// Null target yields nothing, just like jQuery does
if (target == null) return;
var elem = this,
$elem = $(elem),
targ = target, toff, attr = {},
win = $elem.is('html,body');
switch( typeof targ ){
// A number will pass the regex
case 'number':
case 'string':
if( /^([+-]=)?\d+(\.\d+)?(px|%)?$/.test(targ) ){
targ = both( targ );
// We are done
break;
}
// Relative selector, no break!
targ = $(targ,this);
if (!targ.length) return;
case 'object':
// DOMElement / jQuery
if( targ.is || targ.style )
// Get the real position of the target
toff = (targ = $(targ)).offset();
}
$.each( settings.axis.split(''), function( i, axis ){
var Pos = axis == 'x' ? 'Left' : 'Top',
pos = Pos.toLowerCase(),
key = 'scroll' + Pos,
old = elem[key],
max = $scrollTo.max(elem, axis);
if( toff ){// jQuery / DOMElement
attr[key] = toff[pos] + ( win ? 0 : old - $elem.offset()[pos] );
// If it's a dom element, reduce the margin
if( settings.margin ){
attr[key] -= parseInt(targ.css('margin'+Pos)) || 0;
attr[key] -= parseInt(targ.css('border'+Pos+'Width')) || 0;
}
attr[key] += settings.offset[pos] || 0;
if( settings.over[pos] )
// Scroll to a fraction of its width/height
attr[key] += targ[axis=='x'?'width':'height']() * settings.over[pos];
}else{
var val = targ[pos];
// Handle percentage values
attr[key] = val.slice && val.slice(-1) == '%' ?
parseFloat(val) / 100 * max
: val;
}
// Number or 'number'
if( settings.limit && /^\d+$/.test(attr[key]) )
// Check the limits
attr[key] = attr[key] <= 0 ? 0 : Math.min( attr[key], max );
// Queueing axes
if( !i && settings.queue ){
// Don't waste time animating, if there's no need.
if( old != attr[key] )
// Intermediate animation
animate( settings.onAfterFirst );
// Don't animate this axis again in the next iteration.
delete attr[key];
}
});
animate( settings.onAfter );
function animate( callback ){
$elem.animate( attr, duration, settings.easing, callback && function(){
callback.call(this, target, settings);
});
};
}).end();
};
// Max scrolling position, works on quirks mode
// It only fails (not too badly) on IE, quirks mode.
$scrollTo.max = function( elem, axis ){
var Dim = axis == 'x' ? 'Width' : 'Height',
scroll = 'scroll'+Dim;
if( !$(elem).is('html,body') )
return elem[scroll] - $(elem)[Dim.toLowerCase()]();
var size = 'client' + Dim,
html = elem.ownerDocument.documentElement,
body = elem.ownerDocument.body;
return Math.max( html[scroll], body[scroll] )
- Math.min( html[size] , body[size] );
};
function both( val ){
return typeof val == 'object' ? val : { top:val, left:val };
};
})( jQuery );
/* Modernizr 2.6.2 (Custom Build) | MIT & BSD
* Build: http://modernizr.com/download/#-fontface-backgroundsize-borderimage-borderradius-boxshadow-flexbox-hsla-multiplebgs-opacity-rgba-textshadow-cssanimations-csscolumns-generatedcontent-cssgradients-cssreflections-csstransforms-csstransforms3d-csstransitions-applicationcache-canvas-canvastext-draganddrop-hashchange-history-audio-video-indexeddb-input-inputtypes-localstorage-postmessage-sessionstorage-websockets-websqldatabase-webworkers-geolocation-inlinesvg-smil-svg-svgclippaths-touch-webgl-shiv-mq-cssclasses-addtest-prefixed-teststyles-testprop-testallprops-hasevent-prefixes-domprefixes-load
*/
;window.Modernizr=function(a,b,c){function D(a){j.cssText=a}function E(a,b){return D(n.join(a+";")+(b||""))}function F(a,b){return typeof a===b}function G(a,b){return!!~(""+a).indexOf(b)}function H(a,b){for(var d in a){var e=a[d];if(!G(e,"-")&&j[e]!==c)return b=="pfx"?e:!0}return!1}function I(a,b,d){for(var e in a){var f=b[a[e]];if(f!==c)return d===!1?a[e]:F(f,"function")?f.bind(d||b):f}return!1}function J(a,b,c){var d=a.charAt(0).toUpperCase()+a.slice(1),e=(a+" "+p.join(d+" ")+d).split(" ");return F(b,"string")||F(b,"undefined")?H(e,b):(e=(a+" "+q.join(d+" ")+d).split(" "),I(e,b,c))}function K(){e.input=function(c){for(var d=0,e=c.length;d<e;d++)u[c[d]]=c[d]in k;return u.list&&(u.list=!!b.createElement("datalist")&&!!a.HTMLDataListElement),u}("autocomplete autofocus list placeholder max min multiple pattern required step".split(" ")),e.inputtypes=function(a){for(var d=0,e,f,h,i=a.length;d<i;d++)k.setAttribute("type",f=a[d]),e=k.type!=="text",e&&(k.value=l,k.style.cssText="position:absolute;visibility:hidden;",/^range$/.test(f)&&k.style.WebkitAppearance!==c?(g.appendChild(k),h=b.defaultView,e=h.getComputedStyle&&h.getComputedStyle(k,null).WebkitAppearance!=="textfield"&&k.offsetHeight!==0,g.removeChild(k)):/^(search|tel)$/.test(f)||(/^(url|email)$/.test(f)?e=k.checkValidity&&k.checkValidity()===!1:e=k.value!=l)),t[a[d]]=!!e;return t}("search tel url email datetime date month week time datetime-local number range color".split(" "))}var d="2.6.2",e={},f=!0,g=b.documentElement,h="modernizr",i=b.createElement(h),j=i.style,k=b.createElement("input"),l=":)",m={}.toString,n=" -webkit- -moz- -o- -ms- ".split(" "),o="Webkit Moz O ms",p=o.split(" "),q=o.toLowerCase().split(" "),r={svg:"http://www.w3.org/2000/svg"},s={},t={},u={},v=[],w=v.slice,x,y=function(a,c,d,e){var f,i,j,k,l=b.createElement("div"),m=b.body,n=m||b.createElement("body");if(parseInt(d,10))while(d--)j=b.createElement("div"),j.id=e?e[d]:h+(d+1),l.appendChild(j);return f=["&#173;",'<style id="s',h,'">',a,"</style>"].join(""),l.id=h,(m?l:n).innerHTML+=f,n.appendChild(l),m||(n.style.background="",n.style.overflow="hidden",k=g.style.overflow,g.style.overflow="hidden",g.appendChild(n)),i=c(l,a),m?l.parentNode.removeChild(l):(n.parentNode.removeChild(n),g.style.overflow=k),!!i},z=function(b){var c=a.matchMedia||a.msMatchMedia;if(c)return c(b).matches;var d;return y("@media "+b+" { #"+h+" { position: absolute; } }",function(b){d=(a.getComputedStyle?getComputedStyle(b,null):b.currentStyle)["position"]=="absolute"}),d},A=function(){function d(d,e){e=e||b.createElement(a[d]||"div"),d="on"+d;var f=d in e;return f||(e.setAttribute||(e=b.createElement("div")),e.setAttribute&&e.removeAttribute&&(e.setAttribute(d,""),f=F(e[d],"function"),F(e[d],"undefined")||(e[d]=c),e.removeAttribute(d))),e=null,f}var a={select:"input",change:"input",submit:"form",reset:"form",error:"img",load:"img",abort:"img"};return d}(),B={}.hasOwnProperty,C;!F(B,"undefined")&&!F(B.call,"undefined")?C=function(a,b){return B.call(a,b)}:C=function(a,b){return b in a&&F(a.constructor.prototype[b],"undefined")},Function.prototype.bind||(Function.prototype.bind=function(b){var c=this;if(typeof c!="function")throw new TypeError;var d=w.call(arguments,1),e=function(){if(this instanceof e){var a=function(){};a.prototype=c.prototype;var f=new a,g=c.apply(f,d.concat(w.call(arguments)));return Object(g)===g?g:f}return c.apply(b,d.concat(w.call(arguments)))};return e}),s.flexbox=function(){return J("flexWrap")},s.canvas=function(){var a=b.createElement("canvas");return!!a.getContext&&!!a.getContext("2d")},s.canvastext=function(){return!!e.canvas&&!!F(b.createElement("canvas").getContext("2d").fillText,"function")},s.webgl=function(){return!!a.WebGLRenderingContext},s.touch=function(){var c;return"ontouchstart"in a||a.DocumentTouch&&b instanceof DocumentTouch?c=!0:y(["@media (",n.join("touch-enabled),("),h,")","{#modernizr{top:9px;position:absolute}}"].join(""),function(a){c=a.offsetTop===9}),c},s.geolocation=function(){return"geolocation"in navigator},s.postmessage=function(){return!!a.postMessage},s.websqldatabase=function(){return!!a.openDatabase},s.indexedDB=function(){return!!J("indexedDB",a)},s.hashchange=function(){return A("hashchange",a)&&(b.documentMode===c||b.documentMode>7)},s.history=function(){return!!a.history&&!!history.pushState},s.draganddrop=function(){var a=b.createElement("div");return"draggable"in a||"ondragstart"in a&&"ondrop"in a},s.websockets=function(){return"WebSocket"in a||"MozWebSocket"in a},s.rgba=function(){return D("background-color:rgba(150,255,150,.5)"),G(j.backgroundColor,"rgba")},s.hsla=function(){return D("background-color:hsla(120,40%,100%,.5)"),G(j.backgroundColor,"rgba")||G(j.backgroundColor,"hsla")},s.multiplebgs=function(){return D("background:url(https://),url(https://),red url(https://)"),/(url\s*\(.*?){3}/.test(j.background)},s.backgroundsize=function(){return J("backgroundSize")},s.borderimage=function(){return J("borderImage")},s.borderradius=function(){return J("borderRadius")},s.boxshadow=function(){return J("boxShadow")},s.textshadow=function(){return b.createElement("div").style.textShadow===""},s.opacity=function(){return E("opacity:.55"),/^0.55$/.test(j.opacity)},s.cssanimations=function(){return J("animationName")},s.csscolumns=function(){return J("columnCount")},s.cssgradients=function(){var a="background-image:",b="gradient(linear,left top,right bottom,from(#9f9),to(white));",c="linear-gradient(left top,#9f9, white);";return D((a+"-webkit- ".split(" ").join(b+a)+n.join(c+a)).slice(0,-a.length)),G(j.backgroundImage,"gradient")},s.cssreflections=function(){return J("boxReflect")},s.csstransforms=function(){return!!J("transform")},s.csstransforms3d=function(){var a=!!J("perspective");return a&&"webkitPerspective"in g.style&&y("@media (transform-3d),(-webkit-transform-3d){#modernizr{left:9px;position:absolute;height:3px;}}",function(b,c){a=b.offsetLeft===9&&b.offsetHeight===3}),a},s.csstransitions=function(){return J("transition")},s.fontface=function(){var a;return y('@font-face {font-family:"font";src:url("https://")}',function(c,d){var e=b.getElementById("smodernizr"),f=e.sheet||e.styleSheet,g=f?f.cssRules&&f.cssRules[0]?f.cssRules[0].cssText:f.cssText||"":"";a=/src/i.test(g)&&g.indexOf(d.split(" ")[0])===0}),a},s.generatedcontent=function(){var a;return y(["#",h,"{font:0/0 a}#",h,':after{content:"',l,'";visibility:hidden;font:3px/1 a}'].join(""),function(b){a=b.offsetHeight>=3}),a},s.video=function(){var a=b.createElement("video"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,""),c.h264=a.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,""),c.webm=a.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")}catch(d){}return c},s.audio=function(){var a=b.createElement("audio"),c=!1;try{if(c=!!a.canPlayType)c=new Boolean(c),c.ogg=a.canPlayType('audio/ogg; codecs="vorbis"').replace(/^no$/,""),c.mp3=a.canPlayType("audio/mpeg;").replace(/^no$/,""),c.wav=a.canPlayType('audio/wav; codecs="1"').replace(/^no$/,""),c.m4a=(a.canPlayType("audio/x-m4a;")||a.canPlayType("audio/aac;")).replace(/^no$/,"")}catch(d){}return c},s.localstorage=function(){try{return localStorage.setItem(h,h),localStorage.removeItem(h),!0}catch(a){return!1}},s.sessionstorage=function(){try{return sessionStorage.setItem(h,h),sessionStorage.removeItem(h),!0}catch(a){return!1}},s.webworkers=function(){return!!a.Worker},s.applicationcache=function(){return!!a.applicationCache},s.svg=function(){return!!b.createElementNS&&!!b.createElementNS(r.svg,"svg").createSVGRect},s.inlinesvg=function(){var a=b.createElement("div");return a.innerHTML="<svg/>",(a.firstChild&&a.firstChild.namespaceURI)==r.svg},s.smil=function(){return!!b.createElementNS&&/SVGAnimate/.test(m.call(b.createElementNS(r.svg,"animate")))},s.svgclippaths=function(){return!!b.createElementNS&&/SVGClipPath/.test(m.call(b.createElementNS(r.svg,"clipPath")))};for(var L in s)C(s,L)&&(x=L.toLowerCase(),e[x]=s[L](),v.push((e[x]?"":"no-")+x));return e.input||K(),e.addTest=function(a,b){if(typeof a=="object")for(var d in a)C(a,d)&&e.addTest(d,a[d]);else{a=a.toLowerCase();if(e[a]!==c)return e;b=typeof b=="function"?b():b,typeof f!="undefined"&&f&&(g.className+=" "+(b?"":"no-")+a),e[a]=b}return e},D(""),i=k=null,function(a,b){function k(a,b){var c=a.createElement("p"),d=a.getElementsByTagName("head")[0]||a.documentElement;return c.innerHTML="x<style>"+b+"</style>",d.insertBefore(c.lastChild,d.firstChild)}function l(){var a=r.elements;return typeof a=="string"?a.split(" "):a}function m(a){var b=i[a[g]];return b||(b={},h++,a[g]=h,i[h]=b),b}function n(a,c,f){c||(c=b);if(j)return c.createElement(a);f||(f=m(c));var g;return f.cache[a]?g=f.cache[a].cloneNode():e.test(a)?g=(f.cache[a]=f.createElem(a)).cloneNode():g=f.createElem(a),g.canHaveChildren&&!d.test(a)?f.frag.appendChild(g):g}function o(a,c){a||(a=b);if(j)return a.createDocumentFragment();c=c||m(a);var d=c.frag.cloneNode(),e=0,f=l(),g=f.length;for(;e<g;e++)d.createElement(f[e]);return d}function p(a,b){b.cache||(b.cache={},b.createElem=a.createElement,b.createFrag=a.createDocumentFragment,b.frag=b.createFrag()),a.createElement=function(c){return r.shivMethods?n(c,a,b):b.createElem(c)},a.createDocumentFragment=Function("h,f","return function(){var n=f.cloneNode(),c=n.createElement;h.shivMethods&&("+l().join().replace(/\w+/g,function(a){return b.createElem(a),b.frag.createElement(a),'c("'+a+'")'})+");return n}")(r,b.frag)}function q(a){a||(a=b);var c=m(a);return r.shivCSS&&!f&&!c.hasCSS&&(c.hasCSS=!!k(a,"article,aside,figcaption,figure,footer,header,hgroup,nav,section{display:block}mark{background:#FF0;color:#000}")),j||p(a,c),a}var c=a.html5||{},d=/^<|^(?:button|map|select|textarea|object|iframe|option|optgroup)$/i,e=/^(?:a|b|code|div|fieldset|h1|h2|h3|h4|h5|h6|i|label|li|ol|p|q|span|strong|style|table|tbody|td|th|tr|ul)$/i,f,g="_html5shiv",h=0,i={},j;(function(){try{var a=b.createElement("a");a.innerHTML="<xyz></xyz>",f="hidden"in a,j=a.childNodes.length==1||function(){b.createElement("a");var a=b.createDocumentFragment();return typeof a.cloneNode=="undefined"||typeof a.createDocumentFragment=="undefined"||typeof a.createElement=="undefined"}()}catch(c){f=!0,j=!0}})();var r={elements:c.elements||"abbr article aside audio bdi canvas data datalist details figcaption figure footer header hgroup mark meter nav output progress section summary time video",shivCSS:c.shivCSS!==!1,supportsUnknownElements:j,shivMethods:c.shivMethods!==!1,type:"default",shivDocument:q,createElement:n,createDocumentFragment:o};a.html5=r,q(b)}(this,b),e._version=d,e._prefixes=n,e._domPrefixes=q,e._cssomPrefixes=p,e.mq=z,e.hasEvent=A,e.testProp=function(a){return H([a])},e.testAllProps=J,e.testStyles=y,e.prefixed=function(a,b,c){return b?J(a,b,c):J(a,"pfx")},g.className=g.className.replace(/(^|\s)no-js(\s|$)/,"$1$2")+(f?" js "+v.join(" "):""),e}(this,this.document),function(a,b,c){function d(a){return"[object Function]"==o.call(a)}function e(a){return"string"==typeof a}function f(){}function g(a){return!a||"loaded"==a||"complete"==a||"uninitialized"==a}function h(){var a=p.shift();q=1,a?a.t?m(function(){("c"==a.t?B.injectCss:B.injectJs)(a.s,0,a.a,a.x,a.e,1)},0):(a(),h()):q=0}function i(a,c,d,e,f,i,j){function k(b){if(!o&&g(l.readyState)&&(u.r=o=1,!q&&h(),l.onload=l.onreadystatechange=null,b)){"img"!=a&&m(function(){t.removeChild(l)},50);for(var d in y[c])y[c].hasOwnProperty(d)&&y[c][d].onload()}}var j=j||B.errorTimeout,l=b.createElement(a),o=0,r=0,u={t:d,s:c,e:f,a:i,x:j};1===y[c]&&(r=1,y[c]=[]),"object"==a?l.data=c:(l.src=c,l.type=a),l.width=l.height="0",l.onerror=l.onload=l.onreadystatechange=function(){k.call(this,r)},p.splice(e,0,u),"img"!=a&&(r||2===y[c]?(t.insertBefore(l,s?null:n),m(k,j)):y[c].push(l))}function j(a,b,c,d,f){return q=0,b=b||"j",e(a)?i("c"==b?v:u,a,b,this.i++,c,d,f):(p.splice(this.i++,0,a),1==p.length&&h()),this}function k(){var a=B;return a.loader={load:j,i:0},a}var l=b.documentElement,m=a.setTimeout,n=b.getElementsByTagName("script")[0],o={}.toString,p=[],q=0,r="MozAppearance"in l.style,s=r&&!!b.createRange().compareNode,t=s?l:n.parentNode,l=a.opera&&"[object Opera]"==o.call(a.opera),l=!!b.attachEvent&&!l,u=r?"object":l?"script":"img",v=l?"script":u,w=Array.isArray||function(a){return"[object Array]"==o.call(a)},x=[],y={},z={timeout:function(a,b){return b.length&&(a.timeout=b[0]),a}},A,B;B=function(a){function b(a){var a=a.split("!"),b=x.length,c=a.pop(),d=a.length,c={url:c,origUrl:c,prefixes:a},e,f,g;for(f=0;f<d;f++)g=a[f].split("="),(e=z[g.shift()])&&(c=e(c,g));for(f=0;f<b;f++)c=x[f](c);return c}function g(a,e,f,g,h){var i=b(a),j=i.autoCallback;i.url.split(".").pop().split("?").shift(),i.bypass||(e&&(e=d(e)?e:e[a]||e[g]||e[a.split("/").pop().split("?")[0]]),i.instead?i.instead(a,e,f,g,h):(y[i.url]?i.noexec=!0:y[i.url]=1,f.load(i.url,i.forceCSS||!i.forceJS&&"css"==i.url.split(".").pop().split("?").shift()?"c":c,i.noexec,i.attrs,i.timeout),(d(e)||d(j))&&f.load(function(){k(),e&&e(i.origUrl,h,g),j&&j(i.origUrl,h,g),y[i.url]=2})))}function h(a,b){function c(a,c){if(a){if(e(a))c||(j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}),g(a,j,b,0,h);else if(Object(a)===a)for(n in m=function(){var b=0,c;for(c in a)a.hasOwnProperty(c)&&b++;return b}(),a)a.hasOwnProperty(n)&&(!c&&!--m&&(d(j)?j=function(){var a=[].slice.call(arguments);k.apply(this,a),l()}:j[n]=function(a){return function(){var b=[].slice.call(arguments);a&&a.apply(this,b),l()}}(k[n])),g(a[n],j,b,n,h))}else!c&&l()}var h=!!a.test,i=a.load||a.both,j=a.callback||f,k=j,l=a.complete||f,m,n;c(h?a.yep:a.nope,!!i),i&&c(i)}var i,j,l=this.yepnope.loader;if(e(a))g(a,0,l,0);else if(w(a))for(i=0;i<a.length;i++)j=a[i],e(j)?g(j,0,l,0):w(j)?B(j):Object(j)===j&&h(j,l);else Object(a)===a&&h(a,l)},B.addPrefix=function(a,b){z[a]=b},B.addFilter=function(a){x.push(a)},B.errorTimeout=1e4,null==b.readyState&&b.addEventListener&&(b.readyState="loading",b.addEventListener("DOMContentLoaded",A=function(){b.removeEventListener("DOMContentLoaded",A,0),b.readyState="complete"},0)),a.yepnope=k(),a.yepnope.executeStack=h,a.yepnope.injectJs=function(a,c,d,e,i,j){var k=b.createElement("script"),l,o,e=e||B.errorTimeout;k.src=a;for(o in d)k.setAttribute(o,d[o]);c=j?h:c||f,k.onreadystatechange=k.onload=function(){!l&&g(k.readyState)&&(l=1,c(),k.onload=k.onreadystatechange=null)},m(function(){l||(l=1,c(1))},e),i?k.onload():n.parentNode.insertBefore(k,n)},a.yepnope.injectCss=function(a,c,d,e,g,i){var e=b.createElement("link"),j,c=i?h:c||f;e.href=a,e.rel="stylesheet",e.type="text/css";for(j in d)e.setAttribute(j,d[j]);g||(n.parentNode.insertBefore(e,n),m(c,0))}}(this,document),Modernizr.load=function(){yepnope.apply(window,[].slice.call(arguments,0))};
/*! matchMedia() polyfill - Test a CSS media type/query in JS. Authors & copyright (c) 2012: Scott Jehl, Paul Irish, Nicholas Zakas. Dual MIT/BSD license */
/*! NOTE: If you're already including a window.matchMedia polyfill via Modernizr or otherwise, you don't need this part */
window.matchMedia=window.matchMedia||(function(e,f){var c,a=e.documentElement,b=a.firstElementChild||a.firstChild,d=e.createElement("body"),g=e.createElement("div");g.id="mq-test-1";g.style.cssText="position:absolute;top:-100em";d.style.background="none";d.appendChild(g);return function(h){g.innerHTML='&shy;<style media="'+h+'"> #mq-test-1 { width: 42px; }</style>';a.insertBefore(d,b);c=g.offsetWidth==42;a.removeChild(d);return{matches:c,media:h}}})(document);
/*! Respond.js v1.1.0: min/max-width media query polyfill. (c) Scott Jehl. MIT/GPLv2 Lic. j.mp/respondjs */
(function(e){e.respond={};respond.update=function(){};respond.mediaQueriesSupported=e.matchMedia&&e.matchMedia("only all").matches;if(respond.mediaQueriesSupported){return}var w=e.document,s=w.documentElement,i=[],k=[],q=[],o={},h=30,f=w.getElementsByTagName("head")[0]||s,g=w.getElementsByTagName("base")[0],b=f.getElementsByTagName("link"),d=[],a=function(){var D=b,y=D.length,B=0,A,z,C,x;for(;B<y;B++){A=D[B],z=A.href,C=A.media,x=A.rel&&A.rel.toLowerCase()==="stylesheet";if(!!z&&x&&!o[z]){if(A.styleSheet&&A.styleSheet.rawCssText){m(A.styleSheet.rawCssText,z,C);o[z]=true}else{if((!/^([a-zA-Z:]*\/\/)/.test(z)&&!g)||z.replace(RegExp.$1,"").split("/")[0]===e.location.host){d.push({href:z,media:C})}}}}u()},u=function(){if(d.length){var x=d.shift();n(x.href,function(y){m(y,x.href,x.media);o[x.href]=true;u()})}},m=function(I,x,z){var G=I.match(/@media[^\{]+\{([^\{\}]*\{[^\}\{]*\})+/gi),J=G&&G.length||0,x=x.substring(0,x.lastIndexOf("/")),y=function(K){return K.replace(/(url\()['"]?([^\/\)'"][^:\)'"]+)['"]?(\))/g,"$1"+x+"$2$3")},A=!J&&z,D=0,C,E,F,B,H;if(x.length){x+="/"}if(A){J=1}for(;D<J;D++){C=0;if(A){E=z;k.push(y(I))}else{E=G[D].match(/@media *([^\{]+)\{([\S\s]+?)$/)&&RegExp.$1;k.push(RegExp.$2&&y(RegExp.$2))}B=E.split(",");H=B.length;for(;C<H;C++){F=B[C];i.push({media:F.split("(")[0].match(/(only\s+)?([a-zA-Z]+)\s?/)&&RegExp.$2||"all",rules:k.length-1,hasquery:F.indexOf("(")>-1,minw:F.match(/\(min\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||""),maxw:F.match(/\(max\-width:[\s]*([\s]*[0-9\.]+)(px|em)[\s]*\)/)&&parseFloat(RegExp.$1)+(RegExp.$2||"")})}}j()},l,r,v=function(){var z,A=w.createElement("div"),x=w.body,y=false;A.style.cssText="position:absolute;font-size:1em;width:1em";if(!x){x=y=w.createElement("body");x.style.background="none"}x.appendChild(A);s.insertBefore(x,s.firstChild);z=A.offsetWidth;if(y){s.removeChild(x)}else{x.removeChild(A)}z=p=parseFloat(z);return z},p,j=function(I){var x="clientWidth",B=s[x],H=w.compatMode==="CSS1Compat"&&B||w.body[x]||B,D={},G=b[b.length-1],z=(new Date()).getTime();if(I&&l&&z-l<h){clearTimeout(r);r=setTimeout(j,h);return}else{l=z}for(var E in i){var K=i[E],C=K.minw,J=K.maxw,A=C===null,L=J===null,y="em";if(!!C){C=parseFloat(C)*(C.indexOf(y)>-1?(p||v()):1)}if(!!J){J=parseFloat(J)*(J.indexOf(y)>-1?(p||v()):1)}if(!K.hasquery||(!A||!L)&&(A||H>=C)&&(L||H<=J)){if(!D[K.media]){D[K.media]=[]}D[K.media].push(k[K.rules])}}for(var E in q){if(q[E]&&q[E].parentNode===f){f.removeChild(q[E])}}for(var E in D){var M=w.createElement("style"),F=D[E].join("\n");M.type="text/css";M.media=E;f.insertBefore(M,G.nextSibling);if(M.styleSheet){M.styleSheet.cssText=F}else{M.appendChild(w.createTextNode(F))}q.push(M)}},n=function(x,z){var y=c();if(!y){return}y.open("GET",x,true);y.onreadystatechange=function(){if(y.readyState!=4||y.status!=200&&y.status!=304){return}z(y.responseText)};if(y.readyState==4){return}y.send(null)},c=(function(){var x=false;try{x=new XMLHttpRequest()}catch(y){x=new ActiveXObject("Microsoft.XMLHTTP")}return function(){return x}})();a();respond.update=a;function t(){j(true)}if(e.addEventListener){e.addEventListener("resize",t,false)}else{if(e.attachEvent){e.attachEvent("onresize",t)}}})(this);
+81
-4

@@ -6,2 +6,71 @@ import { Context } from './context';

export declare type ValueOrPromise<T> = T | Promise<T>;
/**
* Scope for binding values
*/
export declare enum BindingScope {
/**
* The binding provides a value that is calculated each time. This will be
* the default scope if not set.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // get('b1') produces a new value each time for app and its descendants
* app.get('b1') ==> 0
* req1.get('b1') ==> 1
* req2.get('b1') ==> 2
* req2.get('b1') ==> 3
* app.get('b1') ==> 4
*/
TRANSIENT = 0,
/**
* The binding provides a value as a singleton within each local context. The
* value is calculated only once per context and cached for subsequenicial
* uses. Child contexts have their own value and do not share with their
* ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app but not in req1, a new value 1 is calculated.
* // 1 is the singleton for req1 afterward
* req1.get('b1') ==> 1
*
* // 'b1' is found in app but not in req2, a new value 2 is calculated.
* // 2 is the singleton for req2 afterward
* req2.get('b1') ==> 2
*/
CONTEXT = 1,
/**
* The binding provides a value as a singleton within the context hierarchy
* (the owning context and its descendants). The value is calculated only
* once for the owning context and cached for subsequenicial uses. Child
* contexts share the same value as their ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req1.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req2.get('b1') ==> 0
*/
SINGLETON = 2,
}
export declare class Binding {

@@ -25,9 +94,16 @@ isLocked: boolean;

static getKeyPath(key: string): string | undefined;
private readonly _key;
private _tags;
valueConstructor: Constructor<BoundValue>;
constructor(_key: string, isLocked?: boolean);
readonly key: string;
readonly tags: Set<string>;
scope: BindingScope;
private _cache;
private _getValue;
valueConstructor: Constructor<BoundValue>;
constructor(key: string, isLocked?: boolean);
/**
* Cache the resolved value by the binding scope
* @param ctx The current context
* @param result The calculated value for the binding
*/
private _cacheValue(ctx, result);
/**
* This is an internal function optimized for performance.

@@ -56,2 +132,3 @@ * Users should use `@inject(key)` or `ctx.get(key)` instead.

tag(tagName: string | string[]): this;
inScope(scope: BindingScope): void;
/**

@@ -58,0 +135,0 @@ * Bind the key to a constant value.

@@ -9,10 +9,81 @@ "use strict";

const is_promise_1 = require("./is-promise");
/**
* Scope for binding values
*/
var BindingScope;
(function (BindingScope) {
/**
* The binding provides a value that is calculated each time. This will be
* the default scope if not set.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // get('b1') produces a new value each time for app and its descendants
* app.get('b1') ==> 0
* req1.get('b1') ==> 1
* req2.get('b1') ==> 2
* req2.get('b1') ==> 3
* app.get('b1') ==> 4
*/
BindingScope[BindingScope["TRANSIENT"] = 0] = "TRANSIENT";
/**
* The binding provides a value as a singleton within each local context. The
* value is calculated only once per context and cached for subsequenicial
* uses. Child contexts have their own value and do not share with their
* ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app but not in req1, a new value 1 is calculated.
* // 1 is the singleton for req1 afterward
* req1.get('b1') ==> 1
*
* // 'b1' is found in app but not in req2, a new value 2 is calculated.
* // 2 is the singleton for req2 afterward
* req2.get('b1') ==> 2
*/
BindingScope[BindingScope["CONTEXT"] = 1] = "CONTEXT";
/**
* The binding provides a value as a singleton within the context hierarchy
* (the owning context and its descendants). The value is calculated only
* once for the owning context and cached for subsequenicial uses. Child
* contexts share the same value as their ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req1.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req2.get('b1') ==> 0
*/
BindingScope[BindingScope["SINGLETON"] = 2] = "SINGLETON";
})(BindingScope = exports.BindingScope || (exports.BindingScope = {}));
// FIXME(bajtos) The binding class should be parameterized by the value
// type stored
class Binding {
constructor(_key, isLocked = false) {
constructor(key, isLocked = false) {
this.isLocked = isLocked;
this._tags = new Set();
Binding.validateKey(_key);
this._key = _key;
this.tags = new Set();
this.scope = BindingScope.TRANSIENT;
Binding.validateKey(key);
this.key = key;
}

@@ -26,3 +97,3 @@ /**

throw new Error('Binding key must be provided.');
if (key.indexOf(Binding.PROPERTY_SEPARATOR) !== -1) {
if (key.includes(Binding.PROPERTY_SEPARATOR)) {
throw new Error(`Binding key ${key} cannot contain`

@@ -54,8 +125,49 @@ + ` '${Binding.PROPERTY_SEPARATOR}'.`);

}
get key() {
return this._key;
/**
* Cache the resolved value by the binding scope
* @param ctx The current context
* @param result The calculated value for the binding
*/
_cacheValue(ctx, result) {
if (is_promise_1.isPromise(result)) {
if (this.scope === BindingScope.SINGLETON) {
// Cache the value
result = result.then(val => {
this._cache = val;
return val;
});
}
else if (this.scope === BindingScope.CONTEXT) {
// Cache the value
result = result.then(val => {
if (ctx.contains(this.key)) {
// The ctx owns the binding
this._cache = val;
}
else {
// Create a binding of the cached value for the current context
ctx.bind(this.key).to(val);
}
return val;
});
}
}
else {
if (this.scope === BindingScope.SINGLETON) {
// Cache the value
this._cache = result;
}
else if (this.scope === BindingScope.CONTEXT) {
if (ctx.contains(this.key)) {
// The ctx owns the binding
this._cache = result;
}
else {
// Create a binding of the cached value for the current context
ctx.bind(this.key).to(result);
}
}
}
return result;
}
get tags() {
return this._tags;
}
/**

@@ -83,3 +195,18 @@ * This is an internal function optimized for performance.

getValue(ctx) {
return Promise.reject(new Error(`No value was configured for binding ${this._key}.`));
// First check cached value for non-transient
if (this._cache !== undefined) {
if (this.scope === BindingScope.SINGLETON) {
return this._cache;
}
else if (this.scope === BindingScope.CONTEXT) {
if (ctx.contains(this.key)) {
return this._cache;
}
}
}
if (this._getValue) {
const result = this._getValue(ctx);
return this._cacheValue(ctx, result);
}
return Promise.reject(new Error(`No value was configured for binding ${this.key}.`));
}

@@ -92,7 +219,7 @@ lock() {

if (typeof tagName === 'string') {
this._tags.add(tagName);
this.tags.add(tagName);
}
else {
tagName.forEach(t => {
this._tags.add(t);
this.tags.add(t);
});

@@ -102,2 +229,5 @@ }

}
inScope(scope) {
this.scope = scope;
}
/**

@@ -115,3 +245,3 @@ * Bind the key to a constant value.

to(value) {
this.getValue = () => value;
this._getValue = () => value;
return this;

@@ -139,3 +269,3 @@ }

// TODO(bajtos) allow factoryFn with @inject arguments
this.getValue = ctx => factoryFn();
this._getValue = ctx => factoryFn();
return this;

@@ -147,3 +277,3 @@ }

toProvider(providerClass) {
this.getValue = ctx => {
this._getValue = ctx => {
const providerOrPromise = resolver_1.instantiateClass(providerClass, ctx);

@@ -167,3 +297,3 @@ if (is_promise_1.isPromise(providerOrPromise)) {

toClass(ctor) {
this.getValue = context => resolver_1.instantiateClass(ctor, context);
this._getValue = ctx => resolver_1.instantiateClass(ctor, ctx);
this.valueConstructor = ctor;

@@ -170,0 +300,0 @@ return this;

+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/binding.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/binding.ts"],"names":[],"mappings":"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"}

@@ -5,3 +5,3 @@ import { Binding, BoundValue } from './binding';

private registry;
constructor(_parent?: Context);
constructor(_parent?: Context | undefined);
bind(key: string): Binding;

@@ -8,0 +8,0 @@ contains(key: string): boolean;

@@ -1,2 +0,2 @@

export { Binding, BoundValue } from './binding';
export { Binding, BindingScope, BoundValue, ValueOrPromise } from './binding';
export { Context } from './context';

@@ -3,0 +3,0 @@ export { Constructor } from './resolver';

@@ -9,2 +9,3 @@ "use strict";

exports.Binding = binding_1.Binding;
exports.BindingScope = binding_1.BindingScope;
var context_1 = require("./context");

@@ -11,0 +12,0 @@ exports.Context = context_1.Context;

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,qCAA8C;AAAtC,4BAAA,OAAO,CAAA;AACf,qCAAkC;AAA1B,4BAAA,OAAO,CAAA;AAEf,mCAAgC;AAAxB,0BAAA,MAAM,CAAA;AACd,qCAA4C;AAApC,sCAAA,iBAAiB,CAAA;AAEzB,2CAAuC;AAA/B,iCAAA,SAAS,CAAA;AAEjB,wBAAwB;AACxB,uCAA4C;AAApC,sCAAA,gBAAgB,CAAA;AACxB,mCAIkB;AAHhB,6CAAA,yBAAyB,CAAA;AACzB,8CAAA,0BAA0B,CAAA;AAG5B,qCAAoC;AAA5B,8BAAA,SAAS,CAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,qCAA4E;AAApE,4BAAA,OAAO,CAAA;AAAE,iCAAA,YAAY,CAAA;AAC7B,qCAAkC;AAA1B,4BAAA,OAAO,CAAA;AAEf,mCAAgC;AAAxB,0BAAA,MAAM,CAAA;AACd,qCAA4C;AAApC,sCAAA,iBAAiB,CAAA;AAEzB,2CAAuC;AAA/B,iCAAA,SAAS,CAAA;AAEjB,wBAAwB;AACxB,uCAA4C;AAApC,sCAAA,gBAAgB,CAAA;AACxB,mCAIkB;AAHhB,6CAAA,yBAAyB,CAAA;AACzB,8CAAA,0BAA0B,CAAA;AAG5B,qCAAoC;AAA5B,8BAAA,SAAS,CAAA"}

@@ -1,1 +0,7 @@

export declare function isPromise<T>(value: T | Promise<T>): value is Promise<T>;
/**
* Check whether a value is a Promise-like instance.
* Recognizes both native promises and third-party promise libraries.
*
* @param value The value to check.
*/
export declare function isPromise<T>(value: T | PromiseLike<T>): value is PromiseLike<T>;

@@ -7,2 +7,8 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
/**
* Check whether a value is a Promise-like instance.
* Recognizes both native promises and third-party promise libraries.
*
* @param value The value to check.
*/
function isPromise(value) {

@@ -9,0 +15,0 @@ if (!value)

@@ -1,1 +0,1 @@

{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/is-promise.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,mBAA6B,KAAqB;IAChD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IACzB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC3E,MAAM,CAAC,OAAQ,KAAoB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC1D,CAAC;AAJD,8BAIC"}
{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/is-promise.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE;;;;;GAKG;AACH,mBAA6B,KAAyB;IAEpD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IACzB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC3E,MAAM,CAAC,OAAQ,KAAwB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9D,CAAC;AALD,8BAKC"}

@@ -7,3 +7,3 @@ import 'reflect-metadata';

*/
constructor(namespace?: string);
constructor(namespace?: string | undefined);
private getMetadataKey(metadataKey);

@@ -33,3 +33,3 @@ /**

getOwnMetadataKeys(target: Object, propertyKey?: string | symbol): string[];
decorate(decorators: (PropertyDecorator | MethodDecorator)[] | ClassDecorator[], target: Object, targetKey?: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor;
decorate(decorators: (PropertyDecorator | MethodDecorator)[] | ClassDecorator[], target: Object, targetKey?: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | Function;
metadata(metadataKey: string, metadataValue: any): {

@@ -36,0 +36,0 @@ (target: Function): void;

import { Context } from './context';
import { BoundValue } from './binding';
/**
* A class constructor accepting arbitrary arguments.
*/
export declare type Constructor<T> = new (...args: any[]) => T;

@@ -4,0 +7,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"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"}

@@ -6,2 +6,71 @@ import { Context } from './context';

export declare type ValueOrPromise<T> = T | Promise<T>;
/**
* Scope for binding values
*/
export declare enum BindingScope {
/**
* The binding provides a value that is calculated each time. This will be
* the default scope if not set.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // get('b1') produces a new value each time for app and its descendants
* app.get('b1') ==> 0
* req1.get('b1') ==> 1
* req2.get('b1') ==> 2
* req2.get('b1') ==> 3
* app.get('b1') ==> 4
*/
TRANSIENT = 0,
/**
* The binding provides a value as a singleton within each local context. The
* value is calculated only once per context and cached for subsequenicial
* uses. Child contexts have their own value and do not share with their
* ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app but not in req1, a new value 1 is calculated.
* // 1 is the singleton for req1 afterward
* req1.get('b1') ==> 1
*
* // 'b1' is found in app but not in req2, a new value 2 is calculated.
* // 2 is the singleton for req2 afterward
* req2.get('b1') ==> 2
*/
CONTEXT = 1,
/**
* The binding provides a value as a singleton within the context hierarchy
* (the owning context and its descendants). The value is calculated only
* once for the owning context and cached for subsequenicial uses. Child
* contexts share the same value as their ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req1.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req2.get('b1') ==> 0
*/
SINGLETON = 2,
}
export declare class Binding {

@@ -25,9 +94,16 @@ isLocked: boolean;

static getKeyPath(key: string): string | undefined;
private readonly _key;
private _tags;
valueConstructor: Constructor<BoundValue>;
constructor(_key: string, isLocked?: boolean);
readonly key: string;
readonly tags: Set<string>;
scope: BindingScope;
private _cache;
private _getValue;
valueConstructor: Constructor<BoundValue>;
constructor(key: string, isLocked?: boolean);
/**
* Cache the resolved value by the binding scope
* @param ctx The current context
* @param result The calculated value for the binding
*/
private _cacheValue(ctx, result);
/**
* This is an internal function optimized for performance.

@@ -56,2 +132,3 @@ * Users should use `@inject(key)` or `ctx.get(key)` instead.

tag(tagName: string | string[]): this;
inScope(scope: BindingScope): void;
/**

@@ -58,0 +135,0 @@ * Bind the key to a constant value.

@@ -9,10 +9,81 @@ "use strict";

const is_promise_1 = require("./is-promise");
/**
* Scope for binding values
*/
var BindingScope;
(function (BindingScope) {
/**
* The binding provides a value that is calculated each time. This will be
* the default scope if not set.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // get('b1') produces a new value each time for app and its descendants
* app.get('b1') ==> 0
* req1.get('b1') ==> 1
* req2.get('b1') ==> 2
* req2.get('b1') ==> 3
* app.get('b1') ==> 4
*/
BindingScope[BindingScope["TRANSIENT"] = 0] = "TRANSIENT";
/**
* The binding provides a value as a singleton within each local context. The
* value is calculated only once per context and cached for subsequenicial
* uses. Child contexts have their own value and do not share with their
* ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app but not in req1, a new value 1 is calculated.
* // 1 is the singleton for req1 afterward
* req1.get('b1') ==> 1
*
* // 'b1' is found in app but not in req2, a new value 2 is calculated.
* // 2 is the singleton for req2 afterward
* req2.get('b1') ==> 2
*/
BindingScope[BindingScope["CONTEXT"] = 1] = "CONTEXT";
/**
* The binding provides a value as a singleton within the context hierarchy
* (the owning context and its descendants). The value is calculated only
* once for the owning context and cached for subsequenicial uses. Child
* contexts share the same value as their ancestors.
*
* For example, with the following context hierarchy:
*
* - app (with a binding 'b1' that produces sequential values 0, 1, ...)
* - req1
* - req2
*
* // 0 is the singleton for app afterward
* app.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req1.get('b1') ==> 0
*
* // 'b1' is found in app, reuse it
* req2.get('b1') ==> 0
*/
BindingScope[BindingScope["SINGLETON"] = 2] = "SINGLETON";
})(BindingScope = exports.BindingScope || (exports.BindingScope = {}));
// FIXME(bajtos) The binding class should be parameterized by the value
// type stored
class Binding {
constructor(_key, isLocked = false) {
constructor(key, isLocked = false) {
this.isLocked = isLocked;
this._tags = new Set();
Binding.validateKey(_key);
this._key = _key;
this.tags = new Set();
this.scope = BindingScope.TRANSIENT;
Binding.validateKey(key);
this.key = key;
}

@@ -26,3 +97,3 @@ /**

throw new Error('Binding key must be provided.');
if (key.indexOf(Binding.PROPERTY_SEPARATOR) !== -1) {
if (key.includes(Binding.PROPERTY_SEPARATOR)) {
throw new Error(`Binding key ${key} cannot contain`

@@ -54,8 +125,49 @@ + ` '${Binding.PROPERTY_SEPARATOR}'.`);

}
get key() {
return this._key;
/**
* Cache the resolved value by the binding scope
* @param ctx The current context
* @param result The calculated value for the binding
*/
_cacheValue(ctx, result) {
if (is_promise_1.isPromise(result)) {
if (this.scope === BindingScope.SINGLETON) {
// Cache the value
result = result.then(val => {
this._cache = val;
return val;
});
}
else if (this.scope === BindingScope.CONTEXT) {
// Cache the value
result = result.then(val => {
if (ctx.contains(this.key)) {
// The ctx owns the binding
this._cache = val;
}
else {
// Create a binding of the cached value for the current context
ctx.bind(this.key).to(val);
}
return val;
});
}
}
else {
if (this.scope === BindingScope.SINGLETON) {
// Cache the value
this._cache = result;
}
else if (this.scope === BindingScope.CONTEXT) {
if (ctx.contains(this.key)) {
// The ctx owns the binding
this._cache = result;
}
else {
// Create a binding of the cached value for the current context
ctx.bind(this.key).to(result);
}
}
}
return result;
}
get tags() {
return this._tags;
}
/**

@@ -83,3 +195,18 @@ * This is an internal function optimized for performance.

getValue(ctx) {
return Promise.reject(new Error(`No value was configured for binding ${this._key}.`));
// First check cached value for non-transient
if (this._cache !== undefined) {
if (this.scope === BindingScope.SINGLETON) {
return this._cache;
}
else if (this.scope === BindingScope.CONTEXT) {
if (ctx.contains(this.key)) {
return this._cache;
}
}
}
if (this._getValue) {
const result = this._getValue(ctx);
return this._cacheValue(ctx, result);
}
return Promise.reject(new Error(`No value was configured for binding ${this.key}.`));
}

@@ -92,7 +219,7 @@ lock() {

if (typeof tagName === 'string') {
this._tags.add(tagName);
this.tags.add(tagName);
}
else {
tagName.forEach(t => {
this._tags.add(t);
this.tags.add(t);
});

@@ -102,2 +229,5 @@ }

}
inScope(scope) {
this.scope = scope;
}
/**

@@ -115,3 +245,3 @@ * Bind the key to a constant value.

to(value) {
this.getValue = () => value;
this._getValue = () => value;
return this;

@@ -139,3 +269,3 @@ }

// TODO(bajtos) allow factoryFn with @inject arguments
this.getValue = ctx => factoryFn();
this._getValue = ctx => factoryFn();
return this;

@@ -147,3 +277,3 @@ }

toProvider(providerClass) {
this.getValue = ctx => {
this._getValue = ctx => {
const providerOrPromise = resolver_1.instantiateClass(providerClass, ctx);

@@ -167,3 +297,3 @@ if (is_promise_1.isPromise(providerOrPromise)) {

toClass(ctor) {
this.getValue = context => resolver_1.instantiateClass(ctor, context);
this._getValue = ctx => resolver_1.instantiateClass(ctor, ctx);
this.valueConstructor = ctor;

@@ -170,0 +300,0 @@ return this;

@@ -1,1 +0,1 @@

{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/binding.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"binding.js","sourceRoot":"","sources":["../../src/binding.ts"],"names":[],"mappings":"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"}

@@ -5,3 +5,3 @@ import { Binding, BoundValue } from './binding';

private registry;
constructor(_parent?: Context);
constructor(_parent?: Context | undefined);
bind(key: string): Binding;

@@ -8,0 +8,0 @@ contains(key: string): boolean;

@@ -1,2 +0,2 @@

export { Binding, BoundValue } from './binding';
export { Binding, BindingScope, BoundValue, ValueOrPromise } from './binding';
export { Context } from './context';

@@ -3,0 +3,0 @@ export { Constructor } from './resolver';

@@ -9,2 +9,3 @@ "use strict";

exports.Binding = binding_1.Binding;
exports.BindingScope = binding_1.BindingScope;
var context_1 = require("./context");

@@ -11,0 +12,0 @@ exports.Context = context_1.Context;

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,qCAA8C;AAAtC,4BAAA,OAAO,CAAA;AACf,qCAAkC;AAA1B,4BAAA,OAAO,CAAA;AAEf,mCAAgC;AAAxB,0BAAA,MAAM,CAAA;AACd,qCAA4C;AAApC,sCAAA,iBAAiB,CAAA;AAEzB,2CAAuC;AAA/B,iCAAA,SAAS,CAAA;AAEjB,wBAAwB;AACxB,uCAA4C;AAApC,sCAAA,gBAAgB,CAAA;AACxB,mCAIkB;AAHhB,6CAAA,yBAAyB,CAAA;AACzB,8CAAA,0BAA0B,CAAA;AAG5B,qCAAoC;AAA5B,8BAAA,SAAS,CAAA"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,iDAAiD;AACjD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,qCAA4E;AAApE,4BAAA,OAAO,CAAA;AAAE,iCAAA,YAAY,CAAA;AAC7B,qCAAkC;AAA1B,4BAAA,OAAO,CAAA;AAEf,mCAAgC;AAAxB,0BAAA,MAAM,CAAA;AACd,qCAA4C;AAApC,sCAAA,iBAAiB,CAAA;AAEzB,2CAAuC;AAA/B,iCAAA,SAAS,CAAA;AAEjB,wBAAwB;AACxB,uCAA4C;AAApC,sCAAA,gBAAgB,CAAA;AACxB,mCAIkB;AAHhB,6CAAA,yBAAyB,CAAA;AACzB,8CAAA,0BAA0B,CAAA;AAG5B,qCAAoC;AAA5B,8BAAA,SAAS,CAAA"}

@@ -1,1 +0,7 @@

export declare function isPromise<T>(value: T | Promise<T>): value is Promise<T>;
/**
* Check whether a value is a Promise-like instance.
* Recognizes both native promises and third-party promise libraries.
*
* @param value The value to check.
*/
export declare function isPromise<T>(value: T | PromiseLike<T>): value is PromiseLike<T>;

@@ -7,2 +7,8 @@ "use strict";

Object.defineProperty(exports, "__esModule", { value: true });
/**
* Check whether a value is a Promise-like instance.
* Recognizes both native promises and third-party promise libraries.
*
* @param value The value to check.
*/
function isPromise(value) {

@@ -9,0 +15,0 @@ if (!value)

@@ -1,1 +0,1 @@

{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/is-promise.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE,mBAA6B,KAAqB;IAChD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IACzB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC3E,MAAM,CAAC,OAAQ,KAAoB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC1D,CAAC;AAJD,8BAIC"}
{"version":3,"file":"is-promise.js","sourceRoot":"","sources":["../../src/is-promise.ts"],"names":[],"mappings":";AAAA,sDAAsD;AACtD,wBAAwB;AACxB,+CAA+C;AAC/C,gEAAgE;;AAEhE;;;;;GAKG;AACH,mBAA6B,KAAyB;IAEpD,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IACzB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC;QAAC,MAAM,CAAC,KAAK,CAAC;IAC3E,MAAM,CAAC,OAAQ,KAAwB,CAAC,IAAI,KAAK,UAAU,CAAC;AAC9D,CAAC;AALD,8BAKC"}

@@ -7,3 +7,3 @@ import 'reflect-metadata';

*/
constructor(namespace?: string);
constructor(namespace?: string | undefined);
private getMetadataKey(metadataKey);

@@ -33,3 +33,3 @@ /**

getOwnMetadataKeys(target: Object, propertyKey?: string | symbol): string[];
decorate(decorators: (PropertyDecorator | MethodDecorator)[] | ClassDecorator[], target: Object, targetKey?: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor;
decorate(decorators: (PropertyDecorator | MethodDecorator)[] | ClassDecorator[], target: Object, targetKey?: string | symbol, descriptor?: PropertyDescriptor): PropertyDescriptor | Function;
metadata(metadataKey: string, metadataValue: any): {

@@ -36,0 +36,0 @@ (target: Function): void;

import { Context } from './context';
import { BoundValue } from './binding';
/**
* A class constructor accepting arbitrary arguments.
*/
export declare type Constructor<T> = new (...args: any[]) => T;

@@ -4,0 +7,0 @@ /**

@@ -1,1 +0,1 @@

{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"resolver.js","sourceRoot":"","sources":["../../src/resolver.ts"],"names":[],"mappings":"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"}
{
"name": "@loopback/context",
"version": "4.0.0-alpha.9",
"version": "4.0.0-alpha.10",
"description": "LoopBack's container for Inversion of Control",

@@ -8,7 +8,9 @@ "scripts": {

"build": "npm run build:lib && npm run build:lib6",
"build:current": "node ../../bin/compile-package",
"build:lib": "node ../../bin/compile-package es2017",
"build:lib6": "node ../../bin/compile-package es2015",
"build:apidocs": "node ../../bin/generate-apidocs",
"clean": "rm -rf loopback-context*.tgz lib* package",
"prepublish": "npm run build",
"pretest": "npm run build",
"prepublish": "npm run build && npm run build:apidocs",
"pretest": "npm run build:current",
"test": "mocha --opts ../../test/mocha.opts 'test/unit/**/*.ts' 'test/acceptance/**/*.ts'",

@@ -25,6 +27,4 @@ "unit": "mocha --opts ../../test/mocha.opts 'test/unit/**/*.ts'",

"@loopback/testlab": "^4.0.0-alpha.5",
"@types/bluebird": "^3.5.2",
"bluebird": "^3.5.0",
"mocha": "^3.2.0",
"typescript": "^2.3.2"
"@types/bluebird": "^3.5.8",
"bluebird": "^3.5.0"
},

@@ -45,3 +45,4 @@ "keywords": [

"lib",
"lib6"
"lib6",
"api-docs"
],

@@ -48,0 +49,0 @@ "repository": {