diff --git a/docs/.nojekyll b/docs/.nojekyll new file mode 100644 index 00000000..e2ac6616 --- /dev/null +++ b/docs/.nojekyll @@ -0,0 +1 @@ +TypeDoc added this file to prevent GitHub Pages from using Jekyll. You can turn off this behavior by setting the `githubPages` option to false. \ No newline at end of file diff --git a/docs/assets/highlight.css b/docs/assets/highlight.css new file mode 100644 index 00000000..0c4ad2cb --- /dev/null +++ b/docs/assets/highlight.css @@ -0,0 +1,106 @@ +:root { + --light-hl-0: #000000; + --dark-hl-0: #D4D4D4; + --light-hl-1: #AF00DB; + --dark-hl-1: #C586C0; + --light-hl-2: #001080; + --dark-hl-2: #9CDCFE; + --light-hl-3: #A31515; + --dark-hl-3: #CE9178; + --light-hl-4: #0000FF; + --dark-hl-4: #569CD6; + --light-hl-5: #0070C1; + --dark-hl-5: #4FC1FF; + --light-hl-6: #795E26; + --dark-hl-6: #DCDCAA; + --light-hl-7: #000000FF; + --dark-hl-7: #D4D4D4; + --light-hl-8: #008000; + --dark-hl-8: #6A9955; + --light-hl-9: #000000; + --dark-hl-9: #C8C8C8; + --light-hl-10: #098658; + --dark-hl-10: #B5CEA8; + --light-hl-11: #267F99; + --dark-hl-11: #4EC9B0; + --light-code-background: #F5F5F5; + --dark-code-background: #1E1E1E; +} + +@media (prefers-color-scheme: light) { :root { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} } + +@media (prefers-color-scheme: dark) { :root { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} } + +body.light { + --hl-0: var(--light-hl-0); + --hl-1: var(--light-hl-1); + --hl-2: var(--light-hl-2); + --hl-3: var(--light-hl-3); + --hl-4: var(--light-hl-4); + --hl-5: var(--light-hl-5); + --hl-6: var(--light-hl-6); + --hl-7: var(--light-hl-7); + --hl-8: var(--light-hl-8); + --hl-9: var(--light-hl-9); + --hl-10: var(--light-hl-10); + --hl-11: var(--light-hl-11); + --code-background: var(--light-code-background); +} + +body.dark { + --hl-0: var(--dark-hl-0); + --hl-1: var(--dark-hl-1); + --hl-2: var(--dark-hl-2); + --hl-3: var(--dark-hl-3); + --hl-4: var(--dark-hl-4); + --hl-5: var(--dark-hl-5); + --hl-6: var(--dark-hl-6); + --hl-7: var(--dark-hl-7); + --hl-8: var(--dark-hl-8); + --hl-9: var(--dark-hl-9); + --hl-10: var(--dark-hl-10); + --hl-11: var(--dark-hl-11); + --code-background: var(--dark-code-background); +} + +.hl-0 { color: var(--hl-0); } +.hl-1 { color: var(--hl-1); } +.hl-2 { color: var(--hl-2); } +.hl-3 { color: var(--hl-3); } +.hl-4 { color: var(--hl-4); } +.hl-5 { color: var(--hl-5); } +.hl-6 { color: var(--hl-6); } +.hl-7 { color: var(--hl-7); } +.hl-8 { color: var(--hl-8); } +.hl-9 { color: var(--hl-9); } +.hl-10 { color: var(--hl-10); } +.hl-11 { color: var(--hl-11); } +pre, code { background: var(--code-background); } diff --git a/docs/assets/icons.css b/docs/assets/icons.css new file mode 100644 index 00000000..776a3562 --- /dev/null +++ b/docs/assets/icons.css @@ -0,0 +1,1043 @@ +.tsd-kind-icon { + display: block; + position: relative; + padding-left: 20px; + text-indent: -20px; +} +.tsd-kind-icon:before { + content: ""; + display: inline-block; + vertical-align: middle; + width: 17px; + height: 17px; + margin: 0 3px 2px 0; + background-image: url(./icons.png); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-kind-icon:before { + background-image: url(./icons@2x.png); + background-size: 238px 204px; + } +} + +.tsd-signature.tsd-kind-icon:before { + background-position: 0 -153px; +} + +.tsd-kind-object-literal > .tsd-kind-icon:before { + background-position: 0px -17px; +} +.tsd-kind-object-literal.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -17px; +} +.tsd-kind-object-literal.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -17px; +} + +.tsd-kind-class > .tsd-kind-icon:before { + background-position: 0px -34px; +} +.tsd-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -34px; +} +.tsd-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -34px; +} + +.tsd-kind-class.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -51px; +} +.tsd-kind-class.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -51px; +} + +.tsd-kind-interface > .tsd-kind-icon:before { + background-position: 0px -68px; +} +.tsd-kind-interface.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -68px; +} +.tsd-kind-interface.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -68px; +} + +.tsd-kind-interface.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -85px; +} +.tsd-kind-interface.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -85px; +} + +.tsd-kind-namespace > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-namespace.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-namespace.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-module > .tsd-kind-icon:before { + background-position: 0px -102px; +} +.tsd-kind-module.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -102px; +} +.tsd-kind-module.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -102px; +} + +.tsd-kind-enum > .tsd-kind-icon:before { + background-position: 0px -119px; +} +.tsd-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -119px; +} +.tsd-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -119px; +} + +.tsd-kind-enum-member > .tsd-kind-icon:before { + background-position: 0px -136px; +} +.tsd-kind-enum-member.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -136px; +} +.tsd-kind-enum-member.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -136px; +} + +.tsd-kind-signature > .tsd-kind-icon:before { + background-position: 0px -153px; +} +.tsd-kind-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -153px; +} +.tsd-kind-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -153px; +} + +.tsd-kind-type-alias > .tsd-kind-icon:before { + background-position: 0px -170px; +} +.tsd-kind-type-alias.tsd-is-protected > .tsd-kind-icon:before { + background-position: -17px -170px; +} +.tsd-kind-type-alias.tsd-is-private > .tsd-kind-icon:before { + background-position: -34px -170px; +} + +.tsd-kind-type-alias.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: 0px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -17px -187px; +} +.tsd-kind-type-alias.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -34px -187px; +} + +.tsd-kind-variable > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-variable.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-variable.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-variable.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-variable.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-variable.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-property > .tsd-kind-icon:before { + background-position: -136px -0px; +} +.tsd-kind-property.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -0px; +} +.tsd-kind-property.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -0px; +} +.tsd-kind-property.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -0px; +} +.tsd-kind-property.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -0px; +} +.tsd-kind-property.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -0px; +} + +.tsd-kind-get-signature > .tsd-kind-icon:before { + background-position: -136px -17px; +} +.tsd-kind-get-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -17px; +} +.tsd-kind-get-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -17px; +} +.tsd-kind-get-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -17px; +} + +.tsd-kind-set-signature > .tsd-kind-icon:before { + background-position: -136px -34px; +} +.tsd-kind-set-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -34px; +} +.tsd-kind-set-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -34px; +} +.tsd-kind-set-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -34px; +} + +.tsd-kind-accessor > .tsd-kind-icon:before { + background-position: -136px -51px; +} +.tsd-kind-accessor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -51px; +} +.tsd-kind-accessor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -51px; +} +.tsd-kind-accessor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -51px; +} + +.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-method.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -68px; +} +.tsd-kind-call-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -68px; +} +.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -68px; +} +.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -68px; +} + +.tsd-kind-function.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-function.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-method.tsd-has-type-parameter > .tsd-kind-icon:before { + background-position: -136px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -85px; +} +.tsd-kind-method.tsd-has-type-parameter.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -85px; +} + +.tsd-kind-constructor > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-constructor-signature > .tsd-kind-icon:before { + background-position: -136px -102px; +} +.tsd-kind-constructor-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -102px; +} +.tsd-kind-constructor-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -102px; +} +.tsd-kind-constructor-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -102px; +} + +.tsd-kind-index-signature > .tsd-kind-icon:before { + background-position: -136px -119px; +} +.tsd-kind-index-signature.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -119px; +} +.tsd-kind-index-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -119px; +} +.tsd-kind-index-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -119px; +} + +.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -136px; +} +.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -136px; +} +.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -136px; +} +.tsd-kind-event.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -136px; +} +.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -136px; +} +.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -136px; +} + +.tsd-is-static > .tsd-kind-icon:before { + background-position: -136px -153px; +} +.tsd-is-static.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -153px; +} +.tsd-is-static.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-inherited > .tsd-kind-icon:before { + background-position: -68px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected > .tsd-kind-icon:before { + background-position: -85px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -153px; +} +.tsd-is-static.tsd-parent-kind-class.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-protected > .tsd-kind-icon:before { + background-position: -187px -153px; +} +.tsd-is-static.tsd-parent-kind-enum.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -153px; +} +.tsd-is-static.tsd-parent-kind-interface > .tsd-kind-icon:before { + background-position: -204px -153px; +} +.tsd-is-static.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -153px; +} + +.tsd-is-static.tsd-kind-function > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-function.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-method > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-method.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-call-signature > .tsd-kind-icon:before { + background-position: -136px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -153px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class + > .tsd-kind-icon:before { + background-position: -51px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum + > .tsd-kind-icon:before { + background-position: -170px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -170px; +} +.tsd-is-static.tsd-kind-call-signature.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -170px; +} + +.tsd-is-static.tsd-kind-event > .tsd-kind-icon:before { + background-position: -136px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-protected > .tsd-kind-icon:before { + background-position: -153px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-is-private > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class > .tsd-kind-icon:before { + background-position: -51px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -68px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -85px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-protected.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -102px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-class.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum > .tsd-kind-icon:before { + background-position: -170px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-protected + > .tsd-kind-icon:before { + background-position: -187px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-enum.tsd-is-private + > .tsd-kind-icon:before { + background-position: -119px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface + > .tsd-kind-icon:before { + background-position: -204px -187px; +} +.tsd-is-static.tsd-kind-event.tsd-parent-kind-interface.tsd-is-inherited + > .tsd-kind-icon:before { + background-position: -221px -187px; +} diff --git a/docs/assets/icons.png b/docs/assets/icons.png new file mode 100644 index 00000000..3836d5fe Binary files /dev/null and b/docs/assets/icons.png differ diff --git a/docs/assets/icons@2x.png b/docs/assets/icons@2x.png new file mode 100644 index 00000000..5a209e2f Binary files /dev/null and b/docs/assets/icons@2x.png differ diff --git a/docs/assets/main.js b/docs/assets/main.js new file mode 100644 index 00000000..b13205a3 --- /dev/null +++ b/docs/assets/main.js @@ -0,0 +1,52 @@ +(()=>{var Ce=Object.create;var ue=Object.defineProperty;var Pe=Object.getOwnPropertyDescriptor;var Oe=Object.getOwnPropertyNames;var Re=Object.getPrototypeOf,_e=Object.prototype.hasOwnProperty;var Me=(t,e)=>()=>(e||t((e={exports:{}}).exports,e),e.exports);var De=(t,e,r,n)=>{if(e&&typeof e=="object"||typeof e=="function")for(let i of Oe(e))!_e.call(t,i)&&i!==r&&ue(t,i,{get:()=>e[i],enumerable:!(n=Pe(e,i))||n.enumerable});return t};var Fe=(t,e,r)=>(r=t!=null?Ce(Re(t)):{},De(e||!t||!t.__esModule?ue(r,"default",{value:t,enumerable:!0}):r,t));var pe=Me((de,fe)=>{(function(){var t=function(e){var r=new t.Builder;return r.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),r.searchPipeline.add(t.stemmer),e.call(r,r),r.build()};t.version="2.3.9";t.utils={},t.utils.warn=function(e){return function(r){e.console&&console.warn&&console.warn(r)}}(this),t.utils.asString=function(e){return e==null?"":e.toString()},t.utils.clone=function(e){if(e==null)return e;for(var r=Object.create(null),n=Object.keys(e),i=0;i0){var h=t.utils.clone(r)||{};h.position=[a,l],h.index=s.length,s.push(new t.Token(n.slice(a,o),h))}a=o+1}}return s},t.tokenizer.separator=/[\s\-]+/;t.Pipeline=function(){this._stack=[]},t.Pipeline.registeredFunctions=Object.create(null),t.Pipeline.registerFunction=function(e,r){r in this.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+r),e.label=r,t.Pipeline.registeredFunctions[e.label]=e},t.Pipeline.warnIfFunctionNotRegistered=function(e){var r=e.label&&e.label in this.registeredFunctions;r||t.utils.warn(`Function is not registered with pipeline. This may cause problems when serialising the index. +`,e)},t.Pipeline.load=function(e){var r=new t.Pipeline;return e.forEach(function(n){var i=t.Pipeline.registeredFunctions[n];if(i)r.add(i);else throw new Error("Cannot load unregistered function: "+n)}),r},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(r){t.Pipeline.warnIfFunctionNotRegistered(r),this._stack.push(r)},this)},t.Pipeline.prototype.after=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");n=n+1,this._stack.splice(n,0,r)},t.Pipeline.prototype.before=function(e,r){t.Pipeline.warnIfFunctionNotRegistered(r);var n=this._stack.indexOf(e);if(n==-1)throw new Error("Cannot find existingFn");this._stack.splice(n,0,r)},t.Pipeline.prototype.remove=function(e){var r=this._stack.indexOf(e);r!=-1&&this._stack.splice(r,1)},t.Pipeline.prototype.run=function(e){for(var r=this._stack.length,n=0;n1&&(oe&&(n=s),o!=e);)i=n-r,s=r+Math.floor(i/2),o=this.elements[s*2];if(o==e||o>e)return s*2;if(ou?h+=2:a==u&&(r+=n[l+1]*i[h+1],l+=2,h+=2);return r},t.Vector.prototype.similarity=function(e){return this.dot(e)/this.magnitude()||0},t.Vector.prototype.toArray=function(){for(var e=new Array(this.elements.length/2),r=1,n=0;r0){var o=s.str.charAt(0),a;o in s.node.edges?a=s.node.edges[o]:(a=new t.TokenSet,s.node.edges[o]=a),s.str.length==1&&(a.final=!0),i.push({node:a,editsRemaining:s.editsRemaining,str:s.str.slice(1)})}if(s.editsRemaining!=0){if("*"in s.node.edges)var u=s.node.edges["*"];else{var u=new t.TokenSet;s.node.edges["*"]=u}if(s.str.length==0&&(u.final=!0),i.push({node:u,editsRemaining:s.editsRemaining-1,str:s.str}),s.str.length>1&&i.push({node:s.node,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)}),s.str.length==1&&(s.node.final=!0),s.str.length>=1){if("*"in s.node.edges)var l=s.node.edges["*"];else{var l=new t.TokenSet;s.node.edges["*"]=l}s.str.length==1&&(l.final=!0),i.push({node:l,editsRemaining:s.editsRemaining-1,str:s.str.slice(1)})}if(s.str.length>1){var h=s.str.charAt(0),p=s.str.charAt(1),v;p in s.node.edges?v=s.node.edges[p]:(v=new t.TokenSet,s.node.edges[p]=v),s.str.length==1&&(v.final=!0),i.push({node:v,editsRemaining:s.editsRemaining-1,str:h+s.str.slice(2)})}}}return n},t.TokenSet.fromString=function(e){for(var r=new t.TokenSet,n=r,i=0,s=e.length;i=e;r--){var n=this.uncheckedNodes[r],i=n.child.toString();i in this.minimizedNodes?n.parent.edges[n.char]=this.minimizedNodes[i]:(n.child._str=i,this.minimizedNodes[i]=n.child),this.uncheckedNodes.pop()}};t.Index=function(e){this.invertedIndex=e.invertedIndex,this.fieldVectors=e.fieldVectors,this.tokenSet=e.tokenSet,this.fields=e.fields,this.pipeline=e.pipeline},t.Index.prototype.search=function(e){return this.query(function(r){var n=new t.QueryParser(e,r);n.parse()})},t.Index.prototype.query=function(e){for(var r=new t.Query(this.fields),n=Object.create(null),i=Object.create(null),s=Object.create(null),o=Object.create(null),a=Object.create(null),u=0;u1?this._b=1:this._b=e},t.Builder.prototype.k1=function(e){this._k1=e},t.Builder.prototype.add=function(e,r){var n=e[this._ref],i=Object.keys(this._fields);this._documents[n]=r||{},this.documentCount+=1;for(var s=0;s=this.length)return t.QueryLexer.EOS;var e=this.str.charAt(this.pos);return this.pos+=1,e},t.QueryLexer.prototype.width=function(){return this.pos-this.start},t.QueryLexer.prototype.ignore=function(){this.start==this.pos&&(this.pos+=1),this.start=this.pos},t.QueryLexer.prototype.backup=function(){this.pos-=1},t.QueryLexer.prototype.acceptDigitRun=function(){var e,r;do e=this.next(),r=e.charCodeAt(0);while(r>47&&r<58);e!=t.QueryLexer.EOS&&this.backup()},t.QueryLexer.prototype.more=function(){return this.pos1&&(e.backup(),e.emit(t.QueryLexer.TERM)),e.ignore(),e.more())return t.QueryLexer.lexText},t.QueryLexer.lexEditDistance=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.EDIT_DISTANCE),t.QueryLexer.lexText},t.QueryLexer.lexBoost=function(e){return e.ignore(),e.acceptDigitRun(),e.emit(t.QueryLexer.BOOST),t.QueryLexer.lexText},t.QueryLexer.lexEOS=function(e){e.width()>0&&e.emit(t.QueryLexer.TERM)},t.QueryLexer.termSeparator=t.tokenizer.separator,t.QueryLexer.lexText=function(e){for(;;){var r=e.next();if(r==t.QueryLexer.EOS)return t.QueryLexer.lexEOS;if(r.charCodeAt(0)==92){e.escapeCharacter();continue}if(r==":")return t.QueryLexer.lexField;if(r=="~")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexEditDistance;if(r=="^")return e.backup(),e.width()>0&&e.emit(t.QueryLexer.TERM),t.QueryLexer.lexBoost;if(r=="+"&&e.width()===1||r=="-"&&e.width()===1)return e.emit(t.QueryLexer.PRESENCE),t.QueryLexer.lexText;if(r.match(t.QueryLexer.termSeparator))return t.QueryLexer.lexTerm}},t.QueryParser=function(e,r){this.lexer=new t.QueryLexer(e),this.query=r,this.currentClause={},this.lexemeIdx=0},t.QueryParser.prototype.parse=function(){this.lexer.run(),this.lexemes=this.lexer.lexemes;for(var e=t.QueryParser.parseClause;e;)e=e(this);return this.query},t.QueryParser.prototype.peekLexeme=function(){return this.lexemes[this.lexemeIdx]},t.QueryParser.prototype.consumeLexeme=function(){var e=this.peekLexeme();return this.lexemeIdx+=1,e},t.QueryParser.prototype.nextClause=function(){var e=this.currentClause;this.query.clause(e),this.currentClause={}},t.QueryParser.parseClause=function(e){var r=e.peekLexeme();if(r!=null)switch(r.type){case t.QueryLexer.PRESENCE:return t.QueryParser.parsePresence;case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expected either a field or a term, found "+r.type;throw r.str.length>=1&&(n+=" with value '"+r.str+"'"),new t.QueryParseError(n,r.start,r.end)}},t.QueryParser.parsePresence=function(e){var r=e.consumeLexeme();if(r!=null){switch(r.str){case"-":e.currentClause.presence=t.Query.presence.PROHIBITED;break;case"+":e.currentClause.presence=t.Query.presence.REQUIRED;break;default:var n="unrecognised presence operator'"+r.str+"'";throw new t.QueryParseError(n,r.start,r.end)}var i=e.peekLexeme();if(i==null){var n="expecting term or field, found nothing";throw new t.QueryParseError(n,r.start,r.end)}switch(i.type){case t.QueryLexer.FIELD:return t.QueryParser.parseField;case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var n="expecting term or field, found '"+i.type+"'";throw new t.QueryParseError(n,i.start,i.end)}}},t.QueryParser.parseField=function(e){var r=e.consumeLexeme();if(r!=null){if(e.query.allFields.indexOf(r.str)==-1){var n=e.query.allFields.map(function(o){return"'"+o+"'"}).join(", "),i="unrecognised field '"+r.str+"', possible fields: "+n;throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.fields=[r.str];var s=e.peekLexeme();if(s==null){var i="expecting term, found nothing";throw new t.QueryParseError(i,r.start,r.end)}switch(s.type){case t.QueryLexer.TERM:return t.QueryParser.parseTerm;default:var i="expecting term, found '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseTerm=function(e){var r=e.consumeLexeme();if(r!=null){e.currentClause.term=r.str.toLowerCase(),r.str.indexOf("*")!=-1&&(e.currentClause.usePipeline=!1);var n=e.peekLexeme();if(n==null){e.nextClause();return}switch(n.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+n.type+"'";throw new t.QueryParseError(i,n.start,n.end)}}},t.QueryParser.parseEditDistance=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="edit distance must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.editDistance=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},t.QueryParser.parseBoost=function(e){var r=e.consumeLexeme();if(r!=null){var n=parseInt(r.str,10);if(isNaN(n)){var i="boost must be numeric";throw new t.QueryParseError(i,r.start,r.end)}e.currentClause.boost=n;var s=e.peekLexeme();if(s==null){e.nextClause();return}switch(s.type){case t.QueryLexer.TERM:return e.nextClause(),t.QueryParser.parseTerm;case t.QueryLexer.FIELD:return e.nextClause(),t.QueryParser.parseField;case t.QueryLexer.EDIT_DISTANCE:return t.QueryParser.parseEditDistance;case t.QueryLexer.BOOST:return t.QueryParser.parseBoost;case t.QueryLexer.PRESENCE:return e.nextClause(),t.QueryParser.parsePresence;default:var i="Unexpected lexeme type '"+s.type+"'";throw new t.QueryParseError(i,s.start,s.end)}}},function(e,r){typeof define=="function"&&define.amd?define(r):typeof de=="object"?fe.exports=r():e.lunr=r()}(this,function(){return t})})()});var ce=[];function N(t,e){ce.push({selector:e,constructor:t})}var Y=class{constructor(){this.createComponents(document.body)}createComponents(e){ce.forEach(r=>{e.querySelectorAll(r.selector).forEach(n=>{n.dataset.hasInstance||(new r.constructor({el:n}),n.dataset.hasInstance=String(!0))})})}};var k=class{constructor(e){this.el=e.el}};var J=class{constructor(){this.listeners={}}addEventListener(e,r){e in this.listeners||(this.listeners[e]=[]),this.listeners[e].push(r)}removeEventListener(e,r){if(!(e in this.listeners))return;let n=this.listeners[e];for(let i=0,s=n.length;i{let r=Date.now();return(...n)=>{r+e-Date.now()<0&&(t(...n),r=Date.now())}};var ie=class extends J{constructor(){super();this.scrollTop=0;this.lastY=0;this.width=0;this.height=0;this.showToolbar=!0;this.toolbar=document.querySelector(".tsd-page-toolbar"),this.secondaryNav=document.querySelector(".tsd-navigation.secondary"),window.addEventListener("scroll",ne(()=>this.onScroll(),10)),window.addEventListener("resize",ne(()=>this.onResize(),10)),this.onResize(),this.onScroll()}triggerResize(){let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onResize(){this.width=window.innerWidth||0,this.height=window.innerHeight||0;let r=new CustomEvent("resize",{detail:{width:this.width,height:this.height}});this.dispatchEvent(r)}onScroll(){this.scrollTop=window.scrollY||0;let r=new CustomEvent("scroll",{detail:{scrollTop:this.scrollTop}});this.dispatchEvent(r),this.hideShowToolbar()}hideShowToolbar(){var n;let r=this.showToolbar;this.showToolbar=this.lastY>=this.scrollTop||this.scrollTop<=0,r!==this.showToolbar&&(this.toolbar.classList.toggle("tsd-page-toolbar--hide"),(n=this.secondaryNav)==null||n.classList.toggle("tsd-navigation--toolbar-hide")),this.lastY=this.scrollTop}},Q=ie;Q.instance=new ie;var X=class extends k{constructor(r){super(r);this.anchors=[];this.index=-1;Q.instance.addEventListener("resize",()=>this.onResize()),Q.instance.addEventListener("scroll",n=>this.onScroll(n)),this.createAnchors()}createAnchors(){let r=window.location.href;r.indexOf("#")!=-1&&(r=r.substr(0,r.indexOf("#"))),this.el.querySelectorAll("a").forEach(n=>{let i=n.href;if(i.indexOf("#")==-1||i.substr(0,r.length)!=r)return;let s=i.substr(i.indexOf("#")+1),o=document.querySelector("a.tsd-anchor[name="+s+"]"),a=n.parentNode;!o||!a||this.anchors.push({link:a,anchor:o,position:0})}),this.onResize()}onResize(){let r;for(let i=0,s=this.anchors.length;ii.position-s.position);let n=new CustomEvent("scroll",{detail:{scrollTop:Q.instance.scrollTop}});this.onScroll(n)}onScroll(r){let n=r.detail.scrollTop+5,i=this.anchors,s=i.length-1,o=this.index;for(;o>-1&&i[o].position>n;)o-=1;for(;o-1&&this.anchors[this.index].link.classList.remove("focus"),this.index=o,this.index>-1&&this.anchors[this.index].link.classList.add("focus"))}};var he=(t,e=100)=>{let r;return(...n)=>{clearTimeout(r),r=setTimeout(()=>t(n),e)}};var ge=Fe(pe());function ye(){let t=document.getElementById("tsd-search");if(!t)return;let e=document.getElementById("search-script");t.classList.add("loading"),e&&(e.addEventListener("error",()=>{t.classList.remove("loading"),t.classList.add("failure")}),e.addEventListener("load",()=>{t.classList.remove("loading"),t.classList.add("ready")}),window.searchData&&t.classList.remove("loading"));let r=document.querySelector("#tsd-search input"),n=document.querySelector("#tsd-search .results");if(!r||!n)throw new Error("The input field or the result list wrapper was not found");let i=!1;n.addEventListener("mousedown",()=>i=!0),n.addEventListener("mouseup",()=>{i=!1,t.classList.remove("has-focus")}),r.addEventListener("focus",()=>t.classList.add("has-focus")),r.addEventListener("blur",()=>{i||(i=!1,t.classList.remove("has-focus"))});let s={base:t.dataset.base+"/"};Ae(t,n,r,s)}function Ae(t,e,r,n){r.addEventListener("input",he(()=>{He(t,e,r,n)},200));let i=!1;r.addEventListener("keydown",s=>{i=!0,s.key=="Enter"?ze(e,r):s.key=="Escape"?r.blur():s.key=="ArrowUp"?me(e,-1):s.key==="ArrowDown"?me(e,1):i=!1}),r.addEventListener("keypress",s=>{i&&s.preventDefault()}),document.body.addEventListener("keydown",s=>{s.altKey||s.ctrlKey||s.metaKey||!r.matches(":focus")&&s.key==="/"&&(r.focus(),s.preventDefault())})}function Ve(t,e){t.index||window.searchData&&(e.classList.remove("loading"),e.classList.add("ready"),t.data=window.searchData,t.index=ge.Index.load(window.searchData.index))}function He(t,e,r,n){if(Ve(n,t),!n.index||!n.data)return;e.textContent="";let i=r.value.trim(),s=i?n.index.search(`*${i}*`):[];for(let o=0,a=Math.min(10,s.length);o${ve(u.parent,i)}.${l}`);let h=document.createElement("li");h.classList.value=u.classes;let p=document.createElement("a");p.href=n.base+u.url,p.classList.add("tsd-kind-icon"),p.innerHTML=l,h.append(p),e.appendChild(h)}}function me(t,e){let r=t.querySelector(".current");if(!r)r=t.querySelector(e==1?"li:first-child":"li:last-child"),r&&r.classList.add("current");else{let n=r;if(e===1)do n=n.nextElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);else do n=n.previousElementSibling;while(n instanceof HTMLElement&&n.offsetParent==null);n&&(r.classList.remove("current"),n.classList.add("current"))}}function ze(t,e){let r=t.querySelector(".current");if(r||(r=t.querySelector("li:first-child")),r){let n=r.querySelector("a");n&&(window.location.href=n.href),e.blur()}}function ve(t,e){if(e==="")return t;let r=t.toLocaleLowerCase(),n=e.toLocaleLowerCase(),i=[],s=0,o=r.indexOf(n);for(;o!=-1;)i.push(se(t.substring(s,o)),`${se(t.substring(o,o+n.length))}`),s=o+n.length,o=r.indexOf(n,s);return i.push(se(t.substring(s))),i.join("")}var Ne={"&":"&","<":"<",">":">","'":"'",'"':"""};function se(t){return t.replace(/[&<>"'"]/g,e=>Ne[e])}var oe=class{constructor(e,r){this.signature=e,this.description=r}addClass(e){return this.signature.classList.add(e),this.description.classList.add(e),this}removeClass(e){return this.signature.classList.remove(e),this.description.classList.remove(e),this}},Z=class extends k{constructor(r){super(r);this.groups=[];this.index=-1;this.createGroups(),this.container&&(this.el.classList.add("active"),Array.from(this.el.children).forEach(n=>{n.addEventListener("touchstart",i=>this.onClick(i)),n.addEventListener("click",i=>this.onClick(i))}),this.container.classList.add("active"),this.setIndex(0))}setIndex(r){if(r<0&&(r=0),r>this.groups.length-1&&(r=this.groups.length-1),this.index==r)return;let n=this.groups[r];if(this.index>-1){let i=this.groups[this.index];i.removeClass("current").addClass("fade-out"),n.addClass("current"),n.addClass("fade-in"),Q.instance.triggerResize(),setTimeout(()=>{i.removeClass("fade-out"),n.removeClass("fade-in")},300)}else n.addClass("current"),Q.instance.triggerResize();this.index=r}createGroups(){let r=this.el.children;if(r.length<2)return;this.container=this.el.nextElementSibling;let n=this.container.children;this.groups=[];for(let i=0;i{n.signature===r.currentTarget&&this.setIndex(i)})}};var C="mousedown",Le="mousemove",_="mouseup",K={x:0,y:0},xe=!1,ae=!1,je=!1,A=!1,Ee=/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);document.documentElement.classList.add(Ee?"is-mobile":"not-mobile");Ee&&"ontouchstart"in document.documentElement&&(je=!0,C="touchstart",Le="touchmove",_="touchend");document.addEventListener(C,t=>{ae=!0,A=!1;let e=C=="touchstart"?t.targetTouches[0]:t;K.y=e.pageY||0,K.x=e.pageX||0});document.addEventListener(Le,t=>{if(!!ae&&!A){let e=C=="touchstart"?t.targetTouches[0]:t,r=K.x-(e.pageX||0),n=K.y-(e.pageY||0);A=Math.sqrt(r*r+n*n)>10}});document.addEventListener(_,()=>{ae=!1});document.addEventListener("click",t=>{xe&&(t.preventDefault(),t.stopImmediatePropagation(),xe=!1)});var ee=class extends k{constructor(r){super(r);this.className=this.el.dataset.toggle||"",this.el.addEventListener(_,n=>this.onPointerUp(n)),this.el.addEventListener("click",n=>n.preventDefault()),document.addEventListener(C,n=>this.onDocumentPointerDown(n)),document.addEventListener(_,n=>this.onDocumentPointerUp(n))}setActive(r){if(this.active==r)return;this.active=r,document.documentElement.classList.toggle("has-"+this.className,r),this.el.classList.toggle("active",r);let n=(this.active?"to-has-":"from-has-")+this.className;document.documentElement.classList.add(n),setTimeout(()=>document.documentElement.classList.remove(n),500)}onPointerUp(r){A||(this.setActive(!0),r.preventDefault())}onDocumentPointerDown(r){if(this.active){if(r.target.closest(".col-menu, .tsd-filter-group"))return;this.setActive(!1)}}onDocumentPointerUp(r){if(!A&&this.active&&r.target.closest(".col-menu")){let n=r.target.closest("a");if(n){let i=window.location.href;i.indexOf("#")!=-1&&(i=i.substr(0,i.indexOf("#"))),n.href.substr(0,i.length)==i&&setTimeout(()=>this.setActive(!1),250)}}}};var te=class{constructor(e,r){this.key=e,this.value=r,this.defaultValue=r,this.initialize(),window.localStorage[this.key]&&this.setValue(this.fromLocalStorage(window.localStorage[this.key]))}initialize(){}setValue(e){if(this.value==e)return;let r=this.value;this.value=e,window.localStorage[this.key]=this.toLocalStorage(e),this.handleValueChange(r,e)}},re=class extends te{initialize(){let r=document.querySelector("#tsd-filter-"+this.key);!r||(this.checkbox=r,this.checkbox.addEventListener("change",()=>{this.setValue(this.checkbox.checked)}))}handleValueChange(r,n){!this.checkbox||(this.checkbox.checked=this.value,document.documentElement.classList.toggle("toggle-"+this.key,this.value!=this.defaultValue))}fromLocalStorage(r){return r=="true"}toLocalStorage(r){return r?"true":"false"}},le=class extends te{initialize(){document.documentElement.classList.add("toggle-"+this.key+this.value);let r=document.querySelector("#tsd-filter-"+this.key);if(!r)return;this.select=r;let n=()=>{this.select.classList.add("active")},i=()=>{this.select.classList.remove("active")};this.select.addEventListener(C,n),this.select.addEventListener("mouseover",n),this.select.addEventListener("mouseleave",i),this.select.querySelectorAll("li").forEach(s=>{s.addEventListener(_,o=>{r.classList.remove("active"),this.setValue(o.target.dataset.value||"")})}),document.addEventListener(C,s=>{this.select.contains(s.target)||this.select.classList.remove("active")})}handleValueChange(r,n){this.select.querySelectorAll("li.selected").forEach(o=>{o.classList.remove("selected")});let i=this.select.querySelector('li[data-value="'+n+'"]'),s=this.select.querySelector(".tsd-select-label");i&&s&&(i.classList.add("selected"),s.textContent=i.textContent),document.documentElement.classList.remove("toggle-"+r),document.documentElement.classList.add("toggle-"+n)}fromLocalStorage(r){return r}toLocalStorage(r){return r}},j=class extends k{constructor(r){super(r);this.optionVisibility=new le("visibility","private"),this.optionInherited=new re("inherited",!0),this.optionExternals=new re("externals",!0)}static isSupported(){try{return typeof window.localStorage!="undefined"}catch{return!1}}};function we(t){let e=localStorage.getItem("tsd-theme")||"os";t.value=e,be(e),t.addEventListener("change",()=>{localStorage.setItem("tsd-theme",t.value),be(t.value)})}function be(t){switch(t){case"os":document.body.classList.remove("light","dark");break;case"light":document.body.classList.remove("dark"),document.body.classList.add("light");break;case"dark":document.body.classList.remove("light"),document.body.classList.add("dark");break}}ye();N(X,".menu-highlight");N(Z,".tsd-signatures");N(ee,"a[data-toggle]");j.isSupported()?N(j,"#tsd-filter"):document.documentElement.classList.add("no-filter");var Te=document.getElementById("theme");Te&&we(Te);var Be=new Y;Object.defineProperty(window,"app",{value:Be});})(); +/*! + * lunr.Builder + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Index + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Pipeline + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Set + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.TokenSet + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.Vector + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.stemmer + * Copyright (C) 2020 Oliver Nightingale + * Includes code from - http://tartarus.org/~martin/PorterStemmer/js.txt + */ +/*! + * lunr.stopWordFilter + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.tokenizer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.trimmer + * Copyright (C) 2020 Oliver Nightingale + */ +/*! + * lunr.utils + * Copyright (C) 2020 Oliver Nightingale + */ +/** + * lunr - http://lunrjs.com - A bit like Solr, but much smaller and not as bright - 2.3.9 + * Copyright (C) 2020 Oliver Nightingale + * @license MIT + */ diff --git a/docs/assets/search.js b/docs/assets/search.js new file mode 100644 index 00000000..5946c442 --- /dev/null +++ b/docs/assets/search.js @@ -0,0 +1 @@ +window.searchData = JSON.parse("{\"kinds\":{\"8\":\"Enumeration\",\"16\":\"Enumeration member\",\"128\":\"Class\",\"256\":\"Interface\",\"512\":\"Constructor\",\"1024\":\"Property\",\"2048\":\"Method\",\"65536\":\"Type literal\",\"4194304\":\"Type alias\",\"16777216\":\"Reference\"},\"rows\":[{\"id\":0,\"kind\":128,\"name\":\"Adb\",\"url\":\"classes/Adb.html\",\"classes\":\"tsd-kind-class\"},{\"id\":1,\"kind\":1024,\"name\":\"util\",\"url\":\"classes/Adb.html#util\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"Adb\"},{\"id\":2,\"kind\":2048,\"name\":\"createClient\",\"url\":\"classes/Adb.html#createClient\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-static\",\"parent\":\"Adb\"},{\"id\":3,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Adb.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Adb\"},{\"id\":4,\"kind\":128,\"name\":\"Parser\",\"url\":\"classes/Parser.html\",\"classes\":\"tsd-kind-class\"},{\"id\":5,\"kind\":1024,\"name\":\"FailError\",\"url\":\"classes/Parser.html#FailError\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"Parser\"},{\"id\":6,\"kind\":1024,\"name\":\"PrematureEOFError\",\"url\":\"classes/Parser.html#PrematureEOFError\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"Parser\"},{\"id\":7,\"kind\":1024,\"name\":\"UnexpectedDataError\",\"url\":\"classes/Parser.html#UnexpectedDataError\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-static\",\"parent\":\"Parser\"},{\"id\":8,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Parser.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":9,\"kind\":1024,\"name\":\"ended\",\"url\":\"classes/Parser.html#ended\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-private\",\"parent\":\"Parser\"},{\"id\":10,\"kind\":1024,\"name\":\"stream\",\"url\":\"classes/Parser.html#stream\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":11,\"kind\":2048,\"name\":\"end\",\"url\":\"classes/Parser.html#end\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":12,\"kind\":2048,\"name\":\"raw\",\"url\":\"classes/Parser.html#raw\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":13,\"kind\":2048,\"name\":\"readAll\",\"url\":\"classes/Parser.html#readAll\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":14,\"kind\":2048,\"name\":\"readAscii\",\"url\":\"classes/Parser.html#readAscii\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":15,\"kind\":2048,\"name\":\"readBytes\",\"url\":\"classes/Parser.html#readBytes\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":16,\"kind\":2048,\"name\":\"readByteFlow\",\"url\":\"classes/Parser.html#readByteFlow\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":17,\"kind\":2048,\"name\":\"readError\",\"url\":\"classes/Parser.html#readError\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":18,\"kind\":2048,\"name\":\"readValue\",\"url\":\"classes/Parser.html#readValue\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":19,\"kind\":2048,\"name\":\"readUntil\",\"url\":\"classes/Parser.html#readUntil\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":20,\"kind\":2048,\"name\":\"searchLine\",\"url\":\"classes/Parser.html#searchLine\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":21,\"kind\":2048,\"name\":\"readLine\",\"url\":\"classes/Parser.html#readLine\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":22,\"kind\":2048,\"name\":\"unexpected\",\"url\":\"classes/Parser.html#unexpected\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Parser\"},{\"id\":23,\"kind\":4194304,\"name\":\"Callback\",\"url\":\"modules.html#Callback\",\"classes\":\"tsd-kind-type-alias tsd-has-type-parameter\"},{\"id\":24,\"kind\":65536,\"name\":\"__type\",\"url\":\"modules.html#Callback.__type\",\"classes\":\"tsd-kind-type-literal tsd-parent-kind-type-alias\",\"parent\":\"Callback\"},{\"id\":25,\"kind\":256,\"name\":\"ClientOptions\",\"url\":\"interfaces/ClientOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":26,\"kind\":1024,\"name\":\"bin\",\"url\":\"interfaces/ClientOptions.html#bin\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ClientOptions\"},{\"id\":27,\"kind\":256,\"name\":\"CpuStats\",\"url\":\"interfaces/CpuStats.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":28,\"kind\":1024,\"name\":\"user\",\"url\":\"interfaces/CpuStats.html#user\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":29,\"kind\":1024,\"name\":\"nice\",\"url\":\"interfaces/CpuStats.html#nice\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":30,\"kind\":1024,\"name\":\"system\",\"url\":\"interfaces/CpuStats.html#system\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":31,\"kind\":1024,\"name\":\"idle\",\"url\":\"interfaces/CpuStats.html#idle\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":32,\"kind\":1024,\"name\":\"iowait\",\"url\":\"interfaces/CpuStats.html#iowait\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":33,\"kind\":1024,\"name\":\"irq\",\"url\":\"interfaces/CpuStats.html#irq\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":34,\"kind\":1024,\"name\":\"softirq\",\"url\":\"interfaces/CpuStats.html#softirq\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":35,\"kind\":1024,\"name\":\"steal\",\"url\":\"interfaces/CpuStats.html#steal\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":36,\"kind\":1024,\"name\":\"guest\",\"url\":\"interfaces/CpuStats.html#guest\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":37,\"kind\":1024,\"name\":\"guestnice\",\"url\":\"interfaces/CpuStats.html#guestnice\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":38,\"kind\":1024,\"name\":\"total\",\"url\":\"interfaces/CpuStats.html#total\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"CpuStats\"},{\"id\":39,\"kind\":256,\"name\":\"Loads\",\"url\":\"interfaces/Loads.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":40,\"kind\":256,\"name\":\"Device\",\"url\":\"interfaces/Device.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":41,\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/Device.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Device\"},{\"id\":42,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Device.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Device\"},{\"id\":43,\"kind\":256,\"name\":\"DeviceWithPath\",\"url\":\"interfaces/DeviceWithPath.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":44,\"kind\":1024,\"name\":\"path\",\"url\":\"interfaces/DeviceWithPath.html#path\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DeviceWithPath\"},{\"id\":45,\"kind\":1024,\"name\":\"product\",\"url\":\"interfaces/DeviceWithPath.html#product\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DeviceWithPath\"},{\"id\":46,\"kind\":1024,\"name\":\"model\",\"url\":\"interfaces/DeviceWithPath.html#model\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DeviceWithPath\"},{\"id\":47,\"kind\":1024,\"name\":\"device\",\"url\":\"interfaces/DeviceWithPath.html#device\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DeviceWithPath\"},{\"id\":48,\"kind\":1024,\"name\":\"transportId\",\"url\":\"interfaces/DeviceWithPath.html#transportId\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"DeviceWithPath\"},{\"id\":49,\"kind\":1024,\"name\":\"id\",\"url\":\"interfaces/DeviceWithPath.html#id\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"DeviceWithPath\"},{\"id\":50,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/DeviceWithPath.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"DeviceWithPath\"},{\"id\":51,\"kind\":256,\"name\":\"ExtendedPublicKey\",\"url\":\"interfaces/ExtendedPublicKey.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":52,\"kind\":1024,\"name\":\"fingerprint\",\"url\":\"interfaces/ExtendedPublicKey.html#fingerprint\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ExtendedPublicKey\"},{\"id\":53,\"kind\":1024,\"name\":\"comment\",\"url\":\"interfaces/ExtendedPublicKey.html#comment\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"ExtendedPublicKey\"},{\"id\":54,\"kind\":4194304,\"name\":\"Features\",\"url\":\"modules.html#Features\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":55,\"kind\":256,\"name\":\"Forward\",\"url\":\"interfaces/Forward.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":56,\"kind\":1024,\"name\":\"serial\",\"url\":\"interfaces/Forward.html#serial\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Forward\"},{\"id\":57,\"kind\":1024,\"name\":\"local\",\"url\":\"interfaces/Forward.html#local\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Forward\"},{\"id\":58,\"kind\":1024,\"name\":\"remote\",\"url\":\"interfaces/Forward.html#remote\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Forward\"},{\"id\":59,\"kind\":256,\"name\":\"FramebufferMeta\",\"url\":\"interfaces/FramebufferMeta.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":60,\"kind\":1024,\"name\":\"version\",\"url\":\"interfaces/FramebufferMeta.html#version\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":61,\"kind\":1024,\"name\":\"format\",\"url\":\"interfaces/FramebufferMeta.html#format\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":62,\"kind\":1024,\"name\":\"width\",\"url\":\"interfaces/FramebufferMeta.html#width\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":63,\"kind\":1024,\"name\":\"height\",\"url\":\"interfaces/FramebufferMeta.html#height\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":64,\"kind\":1024,\"name\":\"bpp\",\"url\":\"interfaces/FramebufferMeta.html#bpp\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":65,\"kind\":1024,\"name\":\"size\",\"url\":\"interfaces/FramebufferMeta.html#size\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":66,\"kind\":1024,\"name\":\"red_offset\",\"url\":\"interfaces/FramebufferMeta.html#red_offset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":67,\"kind\":1024,\"name\":\"red_length\",\"url\":\"interfaces/FramebufferMeta.html#red_length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":68,\"kind\":1024,\"name\":\"blue_offset\",\"url\":\"interfaces/FramebufferMeta.html#blue_offset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":69,\"kind\":1024,\"name\":\"blue_length\",\"url\":\"interfaces/FramebufferMeta.html#blue_length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":70,\"kind\":1024,\"name\":\"green_offset\",\"url\":\"interfaces/FramebufferMeta.html#green_offset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":71,\"kind\":1024,\"name\":\"green_length\",\"url\":\"interfaces/FramebufferMeta.html#green_length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":72,\"kind\":1024,\"name\":\"alpha_offset\",\"url\":\"interfaces/FramebufferMeta.html#alpha_offset\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":73,\"kind\":1024,\"name\":\"alpha_length\",\"url\":\"interfaces/FramebufferMeta.html#alpha_length\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferMeta\"},{\"id\":74,\"kind\":256,\"name\":\"FramebufferStreamWithMeta\",\"url\":\"interfaces/FramebufferStreamWithMeta.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":75,\"kind\":1024,\"name\":\"meta\",\"url\":\"interfaces/FramebufferStreamWithMeta.html#meta\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"FramebufferStreamWithMeta\"},{\"id\":76,\"kind\":4194304,\"name\":\"Properties\",\"url\":\"modules.html#Properties\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":77,\"kind\":256,\"name\":\"Reverse\",\"url\":\"interfaces/Reverse.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":78,\"kind\":1024,\"name\":\"remote\",\"url\":\"interfaces/Reverse.html#remote\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Reverse\"},{\"id\":79,\"kind\":1024,\"name\":\"local\",\"url\":\"interfaces/Reverse.html#local\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Reverse\"},{\"id\":80,\"kind\":256,\"name\":\"SocketOptions\",\"url\":\"interfaces/SocketOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":81,\"kind\":2048,\"name\":\"auth\",\"url\":\"interfaces/SocketOptions.html#auth\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"SocketOptions\"},{\"id\":82,\"kind\":256,\"name\":\"StartActivityOptions\",\"url\":\"interfaces/StartActivityOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":83,\"kind\":1024,\"name\":\"debug\",\"url\":\"interfaces/StartActivityOptions.html#debug\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartActivityOptions\"},{\"id\":84,\"kind\":1024,\"name\":\"wait\",\"url\":\"interfaces/StartActivityOptions.html#wait\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartActivityOptions\"},{\"id\":85,\"kind\":1024,\"name\":\"user\",\"url\":\"interfaces/StartActivityOptions.html#user\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":86,\"kind\":1024,\"name\":\"action\",\"url\":\"interfaces/StartActivityOptions.html#action\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":87,\"kind\":1024,\"name\":\"data\",\"url\":\"interfaces/StartActivityOptions.html#data\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":88,\"kind\":1024,\"name\":\"mimeType\",\"url\":\"interfaces/StartActivityOptions.html#mimeType\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":89,\"kind\":1024,\"name\":\"category\",\"url\":\"interfaces/StartActivityOptions.html#category\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":90,\"kind\":1024,\"name\":\"component\",\"url\":\"interfaces/StartActivityOptions.html#component\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":91,\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/StartActivityOptions.html#flags\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":92,\"kind\":1024,\"name\":\"extras\",\"url\":\"interfaces/StartActivityOptions.html#extras\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface tsd-is-inherited\",\"parent\":\"StartActivityOptions\"},{\"id\":93,\"kind\":256,\"name\":\"StartServiceOptions\",\"url\":\"interfaces/StartServiceOptions.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":94,\"kind\":1024,\"name\":\"user\",\"url\":\"interfaces/StartServiceOptions.html#user\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":95,\"kind\":1024,\"name\":\"action\",\"url\":\"interfaces/StartServiceOptions.html#action\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":96,\"kind\":1024,\"name\":\"data\",\"url\":\"interfaces/StartServiceOptions.html#data\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":97,\"kind\":1024,\"name\":\"mimeType\",\"url\":\"interfaces/StartServiceOptions.html#mimeType\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":98,\"kind\":1024,\"name\":\"category\",\"url\":\"interfaces/StartServiceOptions.html#category\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":99,\"kind\":1024,\"name\":\"component\",\"url\":\"interfaces/StartServiceOptions.html#component\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":100,\"kind\":1024,\"name\":\"flags\",\"url\":\"interfaces/StartServiceOptions.html#flags\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":101,\"kind\":1024,\"name\":\"extras\",\"url\":\"interfaces/StartServiceOptions.html#extras\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"StartServiceOptions\"},{\"id\":102,\"kind\":4194304,\"name\":\"ExtraValue\",\"url\":\"modules.html#ExtraValue\",\"classes\":\"tsd-kind-type-alias\"},{\"id\":103,\"kind\":256,\"name\":\"ExtraObject\",\"url\":\"interfaces/ExtraObject.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":104,\"kind\":256,\"name\":\"Extra\",\"url\":\"interfaces/Extra.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":105,\"kind\":1024,\"name\":\"key\",\"url\":\"interfaces/Extra.html#key\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Extra\"},{\"id\":106,\"kind\":1024,\"name\":\"type\",\"url\":\"interfaces/Extra.html#type\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Extra\"},{\"id\":107,\"kind\":1024,\"name\":\"value\",\"url\":\"interfaces/Extra.html#value\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"Extra\"},{\"id\":108,\"kind\":256,\"name\":\"TrackerChangeSet\",\"url\":\"interfaces/TrackerChangeSet.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":109,\"kind\":1024,\"name\":\"removed\",\"url\":\"interfaces/TrackerChangeSet.html#removed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TrackerChangeSet\"},{\"id\":110,\"kind\":1024,\"name\":\"changed\",\"url\":\"interfaces/TrackerChangeSet.html#changed\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TrackerChangeSet\"},{\"id\":111,\"kind\":1024,\"name\":\"added\",\"url\":\"interfaces/TrackerChangeSet.html#added\",\"classes\":\"tsd-kind-property tsd-parent-kind-interface\",\"parent\":\"TrackerChangeSet\"},{\"id\":112,\"kind\":256,\"name\":\"WithToString\",\"url\":\"interfaces/WithToString.html\",\"classes\":\"tsd-kind-interface\"},{\"id\":113,\"kind\":2048,\"name\":\"toString\",\"url\":\"interfaces/WithToString.html#toString\",\"classes\":\"tsd-kind-method tsd-parent-kind-interface\",\"parent\":\"WithToString\"},{\"id\":114,\"kind\":128,\"name\":\"Client\",\"url\":\"classes/Client.html\",\"classes\":\"tsd-kind-class\"},{\"id\":115,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/Client.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"Client\"},{\"id\":116,\"kind\":1024,\"name\":\"options\",\"url\":\"classes/Client.html#options\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":117,\"kind\":1024,\"name\":\"host\",\"url\":\"classes/Client.html#host\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":118,\"kind\":1024,\"name\":\"port\",\"url\":\"classes/Client.html#port\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":119,\"kind\":1024,\"name\":\"bin\",\"url\":\"classes/Client.html#bin\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":120,\"kind\":2048,\"name\":\"createTcpUsbBridge\",\"url\":\"classes/Client.html#createTcpUsbBridge\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":121,\"kind\":2048,\"name\":\"connection\",\"url\":\"classes/Client.html#connection\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":122,\"kind\":2048,\"name\":\"version\",\"url\":\"classes/Client.html#version\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":123,\"kind\":2048,\"name\":\"connect\",\"url\":\"classes/Client.html#connect\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":124,\"kind\":2048,\"name\":\"disconnect\",\"url\":\"classes/Client.html#disconnect\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":125,\"kind\":2048,\"name\":\"listDevices\",\"url\":\"classes/Client.html#listDevices\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":126,\"kind\":2048,\"name\":\"listDevicesWithPaths\",\"url\":\"classes/Client.html#listDevicesWithPaths\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":127,\"kind\":2048,\"name\":\"trackDevices\",\"url\":\"classes/Client.html#trackDevices\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":128,\"kind\":2048,\"name\":\"kill\",\"url\":\"classes/Client.html#kill\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":129,\"kind\":2048,\"name\":\"getDevice\",\"url\":\"classes/Client.html#getDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"Client\"},{\"id\":130,\"kind\":128,\"name\":\"DeviceClient\",\"url\":\"classes/DeviceClient.html\",\"classes\":\"tsd-kind-class\"},{\"id\":131,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/DeviceClient.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":132,\"kind\":1024,\"name\":\"client\",\"url\":\"classes/DeviceClient.html#client\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":133,\"kind\":1024,\"name\":\"serial\",\"url\":\"classes/DeviceClient.html#serial\",\"classes\":\"tsd-kind-property tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":134,\"kind\":2048,\"name\":\"getSerialNo\",\"url\":\"classes/DeviceClient.html#getSerialNo\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":135,\"kind\":2048,\"name\":\"getDevicePath\",\"url\":\"classes/DeviceClient.html#getDevicePath\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":136,\"kind\":2048,\"name\":\"getState\",\"url\":\"classes/DeviceClient.html#getState\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":137,\"kind\":2048,\"name\":\"getProperties\",\"url\":\"classes/DeviceClient.html#getProperties\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":138,\"kind\":2048,\"name\":\"getFeatures\",\"url\":\"classes/DeviceClient.html#getFeatures\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":139,\"kind\":2048,\"name\":\"getPackages\",\"url\":\"classes/DeviceClient.html#getPackages\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":140,\"kind\":2048,\"name\":\"getDHCPIpAddress\",\"url\":\"classes/DeviceClient.html#getDHCPIpAddress\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":141,\"kind\":2048,\"name\":\"forward\",\"url\":\"classes/DeviceClient.html#forward\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":142,\"kind\":2048,\"name\":\"listForwards\",\"url\":\"classes/DeviceClient.html#listForwards\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":143,\"kind\":2048,\"name\":\"reverse\",\"url\":\"classes/DeviceClient.html#reverse\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":144,\"kind\":2048,\"name\":\"listReverses\",\"url\":\"classes/DeviceClient.html#listReverses\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":145,\"kind\":2048,\"name\":\"connection\",\"url\":\"classes/DeviceClient.html#connection\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-private\",\"parent\":\"DeviceClient\"},{\"id\":146,\"kind\":2048,\"name\":\"transport\",\"url\":\"classes/DeviceClient.html#transport\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":147,\"kind\":2048,\"name\":\"shell\",\"url\":\"classes/DeviceClient.html#shell\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":148,\"kind\":2048,\"name\":\"reboot\",\"url\":\"classes/DeviceClient.html#reboot\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":149,\"kind\":2048,\"name\":\"remount\",\"url\":\"classes/DeviceClient.html#remount\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":150,\"kind\":2048,\"name\":\"root\",\"url\":\"classes/DeviceClient.html#root\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":151,\"kind\":2048,\"name\":\"trackJdwp\",\"url\":\"classes/DeviceClient.html#trackJdwp\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":152,\"kind\":2048,\"name\":\"framebuffer\",\"url\":\"classes/DeviceClient.html#framebuffer\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":153,\"kind\":2048,\"name\":\"screencap\",\"url\":\"classes/DeviceClient.html#screencap\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":154,\"kind\":2048,\"name\":\"openLocal\",\"url\":\"classes/DeviceClient.html#openLocal\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":155,\"kind\":2048,\"name\":\"openLog\",\"url\":\"classes/DeviceClient.html#openLog\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":156,\"kind\":2048,\"name\":\"openTcp\",\"url\":\"classes/DeviceClient.html#openTcp\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":157,\"kind\":2048,\"name\":\"openMonkey\",\"url\":\"classes/DeviceClient.html#openMonkey\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":158,\"kind\":2048,\"name\":\"openLogcat\",\"url\":\"classes/DeviceClient.html#openLogcat\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":159,\"kind\":2048,\"name\":\"openProcStat\",\"url\":\"classes/DeviceClient.html#openProcStat\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":160,\"kind\":2048,\"name\":\"clear\",\"url\":\"classes/DeviceClient.html#clear\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":161,\"kind\":2048,\"name\":\"install\",\"url\":\"classes/DeviceClient.html#install\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":162,\"kind\":2048,\"name\":\"installRemote\",\"url\":\"classes/DeviceClient.html#installRemote\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":163,\"kind\":2048,\"name\":\"uninstall\",\"url\":\"classes/DeviceClient.html#uninstall\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":164,\"kind\":2048,\"name\":\"isInstalled\",\"url\":\"classes/DeviceClient.html#isInstalled\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":165,\"kind\":2048,\"name\":\"startActivity\",\"url\":\"classes/DeviceClient.html#startActivity\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":166,\"kind\":2048,\"name\":\"startService\",\"url\":\"classes/DeviceClient.html#startService\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":167,\"kind\":2048,\"name\":\"syncService\",\"url\":\"classes/DeviceClient.html#syncService\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":168,\"kind\":2048,\"name\":\"stat\",\"url\":\"classes/DeviceClient.html#stat\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":169,\"kind\":2048,\"name\":\"readdir\",\"url\":\"classes/DeviceClient.html#readdir\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":170,\"kind\":2048,\"name\":\"pull\",\"url\":\"classes/DeviceClient.html#pull\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":171,\"kind\":2048,\"name\":\"push\",\"url\":\"classes/DeviceClient.html#push\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":172,\"kind\":2048,\"name\":\"tcpip\",\"url\":\"classes/DeviceClient.html#tcpip\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":173,\"kind\":2048,\"name\":\"usb\",\"url\":\"classes/DeviceClient.html#usb\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":174,\"kind\":2048,\"name\":\"waitBootComplete\",\"url\":\"classes/DeviceClient.html#waitBootComplete\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":175,\"kind\":2048,\"name\":\"waitForDevice\",\"url\":\"classes/DeviceClient.html#waitForDevice\",\"classes\":\"tsd-kind-method tsd-parent-kind-class\",\"parent\":\"DeviceClient\"},{\"id\":176,\"kind\":128,\"name\":\"ShellCommand\",\"url\":\"classes/ShellCommand.html\",\"classes\":\"tsd-kind-class\"},{\"id\":177,\"kind\":512,\"name\":\"constructor\",\"url\":\"classes/ShellCommand.html#constructor\",\"classes\":\"tsd-kind-constructor tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":178,\"kind\":2048,\"name\":\"execute\",\"url\":\"classes/ShellCommand.html#execute\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-overwrite\",\"parent\":\"ShellCommand\"},{\"id\":179,\"kind\":1024,\"name\":\"parser\",\"url\":\"classes/ShellCommand.html#parser\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":180,\"kind\":1024,\"name\":\"protocol\",\"url\":\"classes/ShellCommand.html#protocol\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":181,\"kind\":1024,\"name\":\"connection\",\"url\":\"classes/ShellCommand.html#connection\",\"classes\":\"tsd-kind-property tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":182,\"kind\":2048,\"name\":\"_send\",\"url\":\"classes/ShellCommand.html#_send\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":183,\"kind\":2048,\"name\":\"_escape\",\"url\":\"classes/ShellCommand.html#_escape\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":184,\"kind\":2048,\"name\":\"_escapeCompat\",\"url\":\"classes/ShellCommand.html#_escapeCompat\",\"classes\":\"tsd-kind-method tsd-parent-kind-class tsd-is-inherited\",\"parent\":\"ShellCommand\"},{\"id\":185,\"kind\":8,\"name\":\"KeyCodes\",\"url\":\"enums/KeyCodes.html\",\"classes\":\"tsd-kind-enum\"},{\"id\":186,\"kind\":16,\"name\":\"KEYCODE_UNKNOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_UNKNOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":187,\"kind\":16,\"name\":\"KEYCODE_SOFT_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SOFT_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":188,\"kind\":16,\"name\":\"KEYCODE_SOFT_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SOFT_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":189,\"kind\":16,\"name\":\"KEYCODE_HOME\",\"url\":\"enums/KeyCodes.html#KEYCODE_HOME\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":190,\"kind\":16,\"name\":\"KEYCODE_BACK\",\"url\":\"enums/KeyCodes.html#KEYCODE_BACK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":191,\"kind\":16,\"name\":\"KEYCODE_CALL\",\"url\":\"enums/KeyCodes.html#KEYCODE_CALL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":192,\"kind\":16,\"name\":\"KEYCODE_ENDCALL\",\"url\":\"enums/KeyCodes.html#KEYCODE_ENDCALL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":193,\"kind\":16,\"name\":\"KEYCODE_0\",\"url\":\"enums/KeyCodes.html#KEYCODE_0\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":194,\"kind\":16,\"name\":\"KEYCODE_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":195,\"kind\":16,\"name\":\"KEYCODE_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":196,\"kind\":16,\"name\":\"KEYCODE_3\",\"url\":\"enums/KeyCodes.html#KEYCODE_3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":197,\"kind\":16,\"name\":\"KEYCODE_4\",\"url\":\"enums/KeyCodes.html#KEYCODE_4\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":198,\"kind\":16,\"name\":\"KEYCODE_5\",\"url\":\"enums/KeyCodes.html#KEYCODE_5\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":199,\"kind\":16,\"name\":\"KEYCODE_6\",\"url\":\"enums/KeyCodes.html#KEYCODE_6\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":200,\"kind\":16,\"name\":\"KEYCODE_7\",\"url\":\"enums/KeyCodes.html#KEYCODE_7\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":201,\"kind\":16,\"name\":\"KEYCODE_8\",\"url\":\"enums/KeyCodes.html#KEYCODE_8\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":202,\"kind\":16,\"name\":\"KEYCODE_9\",\"url\":\"enums/KeyCodes.html#KEYCODE_9\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":203,\"kind\":16,\"name\":\"KEYCODE_STAR\",\"url\":\"enums/KeyCodes.html#KEYCODE_STAR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":204,\"kind\":16,\"name\":\"KEYCODE_POUND\",\"url\":\"enums/KeyCodes.html#KEYCODE_POUND\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":205,\"kind\":16,\"name\":\"KEYCODE_DPAD_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":206,\"kind\":16,\"name\":\"KEYCODE_DPAD_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":207,\"kind\":16,\"name\":\"KEYCODE_DPAD_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":208,\"kind\":16,\"name\":\"KEYCODE_DPAD_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":209,\"kind\":16,\"name\":\"KEYCODE_DPAD_CENTER\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_CENTER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":210,\"kind\":16,\"name\":\"KEYCODE_VOLUME_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_VOLUME_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":211,\"kind\":16,\"name\":\"KEYCODE_VOLUME_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_VOLUME_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":212,\"kind\":16,\"name\":\"KEYCODE_POWER\",\"url\":\"enums/KeyCodes.html#KEYCODE_POWER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":213,\"kind\":16,\"name\":\"KEYCODE_CAMERA\",\"url\":\"enums/KeyCodes.html#KEYCODE_CAMERA\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":214,\"kind\":16,\"name\":\"KEYCODE_CLEAR\",\"url\":\"enums/KeyCodes.html#KEYCODE_CLEAR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":215,\"kind\":16,\"name\":\"KEYCODE_A\",\"url\":\"enums/KeyCodes.html#KEYCODE_A\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":216,\"kind\":16,\"name\":\"KEYCODE_B\",\"url\":\"enums/KeyCodes.html#KEYCODE_B\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":217,\"kind\":16,\"name\":\"KEYCODE_C\",\"url\":\"enums/KeyCodes.html#KEYCODE_C\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":218,\"kind\":16,\"name\":\"KEYCODE_D\",\"url\":\"enums/KeyCodes.html#KEYCODE_D\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":219,\"kind\":16,\"name\":\"KEYCODE_E\",\"url\":\"enums/KeyCodes.html#KEYCODE_E\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":220,\"kind\":16,\"name\":\"KEYCODE_F\",\"url\":\"enums/KeyCodes.html#KEYCODE_F\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":221,\"kind\":16,\"name\":\"KEYCODE_G\",\"url\":\"enums/KeyCodes.html#KEYCODE_G\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":222,\"kind\":16,\"name\":\"KEYCODE_H\",\"url\":\"enums/KeyCodes.html#KEYCODE_H\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":223,\"kind\":16,\"name\":\"KEYCODE_I\",\"url\":\"enums/KeyCodes.html#KEYCODE_I\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":224,\"kind\":16,\"name\":\"KEYCODE_J\",\"url\":\"enums/KeyCodes.html#KEYCODE_J\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":225,\"kind\":16,\"name\":\"KEYCODE_K\",\"url\":\"enums/KeyCodes.html#KEYCODE_K\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":226,\"kind\":16,\"name\":\"KEYCODE_L\",\"url\":\"enums/KeyCodes.html#KEYCODE_L\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":227,\"kind\":16,\"name\":\"KEYCODE_M\",\"url\":\"enums/KeyCodes.html#KEYCODE_M\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":228,\"kind\":16,\"name\":\"KEYCODE_N\",\"url\":\"enums/KeyCodes.html#KEYCODE_N\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":229,\"kind\":16,\"name\":\"KEYCODE_O\",\"url\":\"enums/KeyCodes.html#KEYCODE_O\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":230,\"kind\":16,\"name\":\"KEYCODE_P\",\"url\":\"enums/KeyCodes.html#KEYCODE_P\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":231,\"kind\":16,\"name\":\"KEYCODE_Q\",\"url\":\"enums/KeyCodes.html#KEYCODE_Q\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":232,\"kind\":16,\"name\":\"KEYCODE_R\",\"url\":\"enums/KeyCodes.html#KEYCODE_R\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":233,\"kind\":16,\"name\":\"KEYCODE_S\",\"url\":\"enums/KeyCodes.html#KEYCODE_S\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":234,\"kind\":16,\"name\":\"KEYCODE_T\",\"url\":\"enums/KeyCodes.html#KEYCODE_T\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":235,\"kind\":16,\"name\":\"KEYCODE_U\",\"url\":\"enums/KeyCodes.html#KEYCODE_U\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":236,\"kind\":16,\"name\":\"KEYCODE_V\",\"url\":\"enums/KeyCodes.html#KEYCODE_V\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":237,\"kind\":16,\"name\":\"KEYCODE_W\",\"url\":\"enums/KeyCodes.html#KEYCODE_W\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":238,\"kind\":16,\"name\":\"KEYCODE_X\",\"url\":\"enums/KeyCodes.html#KEYCODE_X\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":239,\"kind\":16,\"name\":\"KEYCODE_Y\",\"url\":\"enums/KeyCodes.html#KEYCODE_Y\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":240,\"kind\":16,\"name\":\"KEYCODE_Z\",\"url\":\"enums/KeyCodes.html#KEYCODE_Z\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":241,\"kind\":16,\"name\":\"KEYCODE_COMMA\",\"url\":\"enums/KeyCodes.html#KEYCODE_COMMA\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":242,\"kind\":16,\"name\":\"KEYCODE_PERIOD\",\"url\":\"enums/KeyCodes.html#KEYCODE_PERIOD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":243,\"kind\":16,\"name\":\"KEYCODE_ALT_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_ALT_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":244,\"kind\":16,\"name\":\"KEYCODE_ALT_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_ALT_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":245,\"kind\":16,\"name\":\"KEYCODE_SHIFT_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SHIFT_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":246,\"kind\":16,\"name\":\"KEYCODE_SHIFT_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SHIFT_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":247,\"kind\":16,\"name\":\"KEYCODE_TAB\",\"url\":\"enums/KeyCodes.html#KEYCODE_TAB\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":248,\"kind\":16,\"name\":\"KEYCODE_SPACE\",\"url\":\"enums/KeyCodes.html#KEYCODE_SPACE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":249,\"kind\":16,\"name\":\"KEYCODE_SYM\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYM\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":250,\"kind\":16,\"name\":\"KEYCODE_EXPLORER\",\"url\":\"enums/KeyCodes.html#KEYCODE_EXPLORER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":251,\"kind\":16,\"name\":\"KEYCODE_ENVELOPE\",\"url\":\"enums/KeyCodes.html#KEYCODE_ENVELOPE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":252,\"kind\":16,\"name\":\"KEYCODE_ENTER\",\"url\":\"enums/KeyCodes.html#KEYCODE_ENTER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":253,\"kind\":16,\"name\":\"KEYCODE_DEL\",\"url\":\"enums/KeyCodes.html#KEYCODE_DEL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":254,\"kind\":16,\"name\":\"KEYCODE_GRAVE\",\"url\":\"enums/KeyCodes.html#KEYCODE_GRAVE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":255,\"kind\":16,\"name\":\"KEYCODE_MINUS\",\"url\":\"enums/KeyCodes.html#KEYCODE_MINUS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":256,\"kind\":16,\"name\":\"KEYCODE_EQUALS\",\"url\":\"enums/KeyCodes.html#KEYCODE_EQUALS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":257,\"kind\":16,\"name\":\"KEYCODE_LEFT_BRACKET\",\"url\":\"enums/KeyCodes.html#KEYCODE_LEFT_BRACKET\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":258,\"kind\":16,\"name\":\"KEYCODE_RIGHT_BRACKET\",\"url\":\"enums/KeyCodes.html#KEYCODE_RIGHT_BRACKET\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":259,\"kind\":16,\"name\":\"KEYCODE_BACKSLASH\",\"url\":\"enums/KeyCodes.html#KEYCODE_BACKSLASH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":260,\"kind\":16,\"name\":\"KEYCODE_SEMICOLON\",\"url\":\"enums/KeyCodes.html#KEYCODE_SEMICOLON\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":261,\"kind\":16,\"name\":\"KEYCODE_APOSTROPHE\",\"url\":\"enums/KeyCodes.html#KEYCODE_APOSTROPHE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":262,\"kind\":16,\"name\":\"KEYCODE_SLASH\",\"url\":\"enums/KeyCodes.html#KEYCODE_SLASH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":263,\"kind\":16,\"name\":\"KEYCODE_AT\",\"url\":\"enums/KeyCodes.html#KEYCODE_AT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":264,\"kind\":16,\"name\":\"KEYCODE_NUM\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUM\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":265,\"kind\":16,\"name\":\"KEYCODE_HEADSETHOOK\",\"url\":\"enums/KeyCodes.html#KEYCODE_HEADSETHOOK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":266,\"kind\":16,\"name\":\"KEYCODE_FOCUS\",\"url\":\"enums/KeyCodes.html#KEYCODE_FOCUS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":267,\"kind\":16,\"name\":\"KEYCODE_PLUS\",\"url\":\"enums/KeyCodes.html#KEYCODE_PLUS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":268,\"kind\":16,\"name\":\"KEYCODE_MENU\",\"url\":\"enums/KeyCodes.html#KEYCODE_MENU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":269,\"kind\":16,\"name\":\"KEYCODE_NOTIFICATION\",\"url\":\"enums/KeyCodes.html#KEYCODE_NOTIFICATION\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":270,\"kind\":16,\"name\":\"KEYCODE_SEARCH\",\"url\":\"enums/KeyCodes.html#KEYCODE_SEARCH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":271,\"kind\":16,\"name\":\"KEYCODE_MEDIA_PLAY_PAUSE\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_PLAY_PAUSE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":272,\"kind\":16,\"name\":\"KEYCODE_MEDIA_STOP\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_STOP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":273,\"kind\":16,\"name\":\"KEYCODE_MEDIA_NEXT\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_NEXT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":274,\"kind\":16,\"name\":\"KEYCODE_MEDIA_PREVIOUS\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_PREVIOUS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":275,\"kind\":16,\"name\":\"KEYCODE_MEDIA_REWIND\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_REWIND\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":276,\"kind\":16,\"name\":\"KEYCODE_MEDIA_FAST_FORWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_FAST_FORWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":277,\"kind\":16,\"name\":\"KEYCODE_MUTE\",\"url\":\"enums/KeyCodes.html#KEYCODE_MUTE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":278,\"kind\":16,\"name\":\"KEYCODE_PAGE_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_PAGE_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":279,\"kind\":16,\"name\":\"KEYCODE_PAGE_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_PAGE_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":280,\"kind\":16,\"name\":\"KEYCODE_PICTSYMBOLS\",\"url\":\"enums/KeyCodes.html#KEYCODE_PICTSYMBOLS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":281,\"kind\":16,\"name\":\"KEYCODE_SWITCH_CHARSET\",\"url\":\"enums/KeyCodes.html#KEYCODE_SWITCH_CHARSET\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":282,\"kind\":16,\"name\":\"KEYCODE_BUTTON_A\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_A\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":283,\"kind\":16,\"name\":\"KEYCODE_BUTTON_B\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_B\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":284,\"kind\":16,\"name\":\"KEYCODE_BUTTON_C\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_C\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":285,\"kind\":16,\"name\":\"KEYCODE_BUTTON_X\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_X\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":286,\"kind\":16,\"name\":\"KEYCODE_BUTTON_Y\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_Y\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":287,\"kind\":16,\"name\":\"KEYCODE_BUTTON_Z\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_Z\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":288,\"kind\":16,\"name\":\"KEYCODE_BUTTON_L1\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_L1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":289,\"kind\":16,\"name\":\"KEYCODE_BUTTON_R1\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_R1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":290,\"kind\":16,\"name\":\"KEYCODE_BUTTON_L2\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_L2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":291,\"kind\":16,\"name\":\"KEYCODE_BUTTON_R2\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_R2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":292,\"kind\":16,\"name\":\"KEYCODE_BUTTON_THUMBL\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_THUMBL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":293,\"kind\":16,\"name\":\"KEYCODE_BUTTON_THUMBR\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_THUMBR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":294,\"kind\":16,\"name\":\"KEYCODE_BUTTON_START\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_START\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":295,\"kind\":16,\"name\":\"KEYCODE_BUTTON_SELECT\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_SELECT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":296,\"kind\":16,\"name\":\"KEYCODE_BUTTON_MODE\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_MODE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":297,\"kind\":16,\"name\":\"KEYCODE_ESCAPE\",\"url\":\"enums/KeyCodes.html#KEYCODE_ESCAPE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":298,\"kind\":16,\"name\":\"KEYCODE_FORWARD_DEL\",\"url\":\"enums/KeyCodes.html#KEYCODE_FORWARD_DEL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":299,\"kind\":16,\"name\":\"KEYCODE_CTRL_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_CTRL_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":300,\"kind\":16,\"name\":\"KEYCODE_CTRL_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_CTRL_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":301,\"kind\":16,\"name\":\"KEYCODE_CAPS_LOCK\",\"url\":\"enums/KeyCodes.html#KEYCODE_CAPS_LOCK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":302,\"kind\":16,\"name\":\"KEYCODE_SCROLL_LOCK\",\"url\":\"enums/KeyCodes.html#KEYCODE_SCROLL_LOCK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":303,\"kind\":16,\"name\":\"KEYCODE_META_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_META_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":304,\"kind\":16,\"name\":\"KEYCODE_META_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_META_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":305,\"kind\":16,\"name\":\"KEYCODE_FUNCTION\",\"url\":\"enums/KeyCodes.html#KEYCODE_FUNCTION\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":306,\"kind\":16,\"name\":\"KEYCODE_SYSRQ\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYSRQ\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":307,\"kind\":16,\"name\":\"KEYCODE_BREAK\",\"url\":\"enums/KeyCodes.html#KEYCODE_BREAK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":308,\"kind\":16,\"name\":\"KEYCODE_MOVE_HOME\",\"url\":\"enums/KeyCodes.html#KEYCODE_MOVE_HOME\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":309,\"kind\":16,\"name\":\"KEYCODE_MOVE_END\",\"url\":\"enums/KeyCodes.html#KEYCODE_MOVE_END\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":310,\"kind\":16,\"name\":\"KEYCODE_INSERT\",\"url\":\"enums/KeyCodes.html#KEYCODE_INSERT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":311,\"kind\":16,\"name\":\"KEYCODE_FORWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_FORWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":312,\"kind\":16,\"name\":\"KEYCODE_MEDIA_PLAY\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_PLAY\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":313,\"kind\":16,\"name\":\"KEYCODE_MEDIA_PAUSE\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_PAUSE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":314,\"kind\":16,\"name\":\"KEYCODE_MEDIA_CLOSE\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_CLOSE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":315,\"kind\":16,\"name\":\"KEYCODE_MEDIA_EJECT\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_EJECT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":316,\"kind\":16,\"name\":\"KEYCODE_MEDIA_RECORD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_RECORD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":317,\"kind\":16,\"name\":\"KEYCODE_F1\",\"url\":\"enums/KeyCodes.html#KEYCODE_F1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":318,\"kind\":16,\"name\":\"KEYCODE_F2\",\"url\":\"enums/KeyCodes.html#KEYCODE_F2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":319,\"kind\":16,\"name\":\"KEYCODE_F3\",\"url\":\"enums/KeyCodes.html#KEYCODE_F3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":320,\"kind\":16,\"name\":\"KEYCODE_F4\",\"url\":\"enums/KeyCodes.html#KEYCODE_F4\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":321,\"kind\":16,\"name\":\"KEYCODE_F5\",\"url\":\"enums/KeyCodes.html#KEYCODE_F5\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":322,\"kind\":16,\"name\":\"KEYCODE_F6\",\"url\":\"enums/KeyCodes.html#KEYCODE_F6\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":323,\"kind\":16,\"name\":\"KEYCODE_F7\",\"url\":\"enums/KeyCodes.html#KEYCODE_F7\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":324,\"kind\":16,\"name\":\"KEYCODE_F8\",\"url\":\"enums/KeyCodes.html#KEYCODE_F8\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":325,\"kind\":16,\"name\":\"KEYCODE_F9\",\"url\":\"enums/KeyCodes.html#KEYCODE_F9\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":326,\"kind\":16,\"name\":\"KEYCODE_F10\",\"url\":\"enums/KeyCodes.html#KEYCODE_F10\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":327,\"kind\":16,\"name\":\"KEYCODE_F11\",\"url\":\"enums/KeyCodes.html#KEYCODE_F11\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":328,\"kind\":16,\"name\":\"KEYCODE_F12\",\"url\":\"enums/KeyCodes.html#KEYCODE_F12\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":329,\"kind\":16,\"name\":\"KEYCODE_NUM_LOCK\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUM_LOCK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":330,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_0\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_0\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":331,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":332,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":333,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_3\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":334,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_4\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_4\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":335,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_5\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_5\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":336,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_6\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_6\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":337,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_7\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_7\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":338,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_8\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_8\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":339,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_9\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_9\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":340,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_DIVIDE\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_DIVIDE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":341,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_MULTIPLY\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_MULTIPLY\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":342,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_SUBTRACT\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_SUBTRACT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":343,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_ADD\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_ADD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":344,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_DOT\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_DOT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":345,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_COMMA\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_COMMA\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":346,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_ENTER\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_ENTER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":347,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_EQUALS\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_EQUALS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":348,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_LEFT_PAREN\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_LEFT_PAREN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":349,\"kind\":16,\"name\":\"KEYCODE_NUMPAD_RIGHT_PAREN\",\"url\":\"enums/KeyCodes.html#KEYCODE_NUMPAD_RIGHT_PAREN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":350,\"kind\":16,\"name\":\"KEYCODE_VOLUME_MUTE\",\"url\":\"enums/KeyCodes.html#KEYCODE_VOLUME_MUTE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":351,\"kind\":16,\"name\":\"KEYCODE_INFO\",\"url\":\"enums/KeyCodes.html#KEYCODE_INFO\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":352,\"kind\":16,\"name\":\"KEYCODE_CHANNEL_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_CHANNEL_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":353,\"kind\":16,\"name\":\"KEYCODE_CHANNEL_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_CHANNEL_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":354,\"kind\":16,\"name\":\"KEYCODE_ZOOM_IN\",\"url\":\"enums/KeyCodes.html#KEYCODE_ZOOM_IN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":355,\"kind\":16,\"name\":\"KEYCODE_ZOOM_OUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_ZOOM_OUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":356,\"kind\":16,\"name\":\"KEYCODE_TV\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":357,\"kind\":16,\"name\":\"KEYCODE_WINDOW\",\"url\":\"enums/KeyCodes.html#KEYCODE_WINDOW\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":358,\"kind\":16,\"name\":\"KEYCODE_GUIDE\",\"url\":\"enums/KeyCodes.html#KEYCODE_GUIDE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":359,\"kind\":16,\"name\":\"KEYCODE_DVR\",\"url\":\"enums/KeyCodes.html#KEYCODE_DVR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":360,\"kind\":16,\"name\":\"KEYCODE_BOOKMARK\",\"url\":\"enums/KeyCodes.html#KEYCODE_BOOKMARK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":361,\"kind\":16,\"name\":\"KEYCODE_CAPTIONS\",\"url\":\"enums/KeyCodes.html#KEYCODE_CAPTIONS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":362,\"kind\":16,\"name\":\"KEYCODE_SETTINGS\",\"url\":\"enums/KeyCodes.html#KEYCODE_SETTINGS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":363,\"kind\":16,\"name\":\"KEYCODE_TV_POWER\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_POWER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":364,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":365,\"kind\":16,\"name\":\"KEYCODE_STB_POWER\",\"url\":\"enums/KeyCodes.html#KEYCODE_STB_POWER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":366,\"kind\":16,\"name\":\"KEYCODE_STB_INPUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_STB_INPUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":367,\"kind\":16,\"name\":\"KEYCODE_AVR_POWER\",\"url\":\"enums/KeyCodes.html#KEYCODE_AVR_POWER\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":368,\"kind\":16,\"name\":\"KEYCODE_AVR_INPUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_AVR_INPUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":369,\"kind\":16,\"name\":\"KEYCODE_PROG_RED\",\"url\":\"enums/KeyCodes.html#KEYCODE_PROG_RED\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":370,\"kind\":16,\"name\":\"KEYCODE_PROG_GREEN\",\"url\":\"enums/KeyCodes.html#KEYCODE_PROG_GREEN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":371,\"kind\":16,\"name\":\"KEYCODE_PROG_YELLOW\",\"url\":\"enums/KeyCodes.html#KEYCODE_PROG_YELLOW\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":372,\"kind\":16,\"name\":\"KEYCODE_PROG_BLUE\",\"url\":\"enums/KeyCodes.html#KEYCODE_PROG_BLUE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":373,\"kind\":16,\"name\":\"KEYCODE_APP_SWITCH\",\"url\":\"enums/KeyCodes.html#KEYCODE_APP_SWITCH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":374,\"kind\":16,\"name\":\"KEYCODE_BUTTON_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":375,\"kind\":16,\"name\":\"KEYCODE_BUTTON_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":376,\"kind\":16,\"name\":\"KEYCODE_BUTTON_3\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":377,\"kind\":16,\"name\":\"KEYCODE_BUTTON_4\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_4\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":378,\"kind\":16,\"name\":\"KEYCODE_BUTTON_5\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_5\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":379,\"kind\":16,\"name\":\"KEYCODE_BUTTON_6\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_6\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":380,\"kind\":16,\"name\":\"KEYCODE_BUTTON_7\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_7\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":381,\"kind\":16,\"name\":\"KEYCODE_BUTTON_8\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_8\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":382,\"kind\":16,\"name\":\"KEYCODE_BUTTON_9\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_9\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":383,\"kind\":16,\"name\":\"KEYCODE_BUTTON_10\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_10\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":384,\"kind\":16,\"name\":\"KEYCODE_BUTTON_11\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_11\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":385,\"kind\":16,\"name\":\"KEYCODE_BUTTON_12\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_12\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":386,\"kind\":16,\"name\":\"KEYCODE_BUTTON_13\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_13\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":387,\"kind\":16,\"name\":\"KEYCODE_BUTTON_14\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_14\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":388,\"kind\":16,\"name\":\"KEYCODE_BUTTON_15\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_15\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":389,\"kind\":16,\"name\":\"KEYCODE_BUTTON_16\",\"url\":\"enums/KeyCodes.html#KEYCODE_BUTTON_16\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":390,\"kind\":16,\"name\":\"KEYCODE_LANGUAGE_SWITCH\",\"url\":\"enums/KeyCodes.html#KEYCODE_LANGUAGE_SWITCH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":391,\"kind\":16,\"name\":\"KEYCODE_MANNER_MODE\",\"url\":\"enums/KeyCodes.html#KEYCODE_MANNER_MODE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":392,\"kind\":16,\"name\":\"KEYCODE_3D_MODE\",\"url\":\"enums/KeyCodes.html#KEYCODE_3D_MODE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":393,\"kind\":16,\"name\":\"KEYCODE_CONTACTS\",\"url\":\"enums/KeyCodes.html#KEYCODE_CONTACTS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":394,\"kind\":16,\"name\":\"KEYCODE_CALENDAR\",\"url\":\"enums/KeyCodes.html#KEYCODE_CALENDAR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":395,\"kind\":16,\"name\":\"KEYCODE_MUSIC\",\"url\":\"enums/KeyCodes.html#KEYCODE_MUSIC\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":396,\"kind\":16,\"name\":\"KEYCODE_CALCULATOR\",\"url\":\"enums/KeyCodes.html#KEYCODE_CALCULATOR\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":397,\"kind\":16,\"name\":\"KEYCODE_ZENKAKU_HANKAKU\",\"url\":\"enums/KeyCodes.html#KEYCODE_ZENKAKU_HANKAKU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":398,\"kind\":16,\"name\":\"KEYCODE_EISU\",\"url\":\"enums/KeyCodes.html#KEYCODE_EISU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":399,\"kind\":16,\"name\":\"KEYCODE_MUHENKAN\",\"url\":\"enums/KeyCodes.html#KEYCODE_MUHENKAN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":400,\"kind\":16,\"name\":\"KEYCODE_HENKAN\",\"url\":\"enums/KeyCodes.html#KEYCODE_HENKAN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":401,\"kind\":16,\"name\":\"KEYCODE_KATAKANA_HIRAGANA\",\"url\":\"enums/KeyCodes.html#KEYCODE_KATAKANA_HIRAGANA\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":402,\"kind\":16,\"name\":\"KEYCODE_YEN\",\"url\":\"enums/KeyCodes.html#KEYCODE_YEN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":403,\"kind\":16,\"name\":\"KEYCODE_RO\",\"url\":\"enums/KeyCodes.html#KEYCODE_RO\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":404,\"kind\":16,\"name\":\"KEYCODE_KANA\",\"url\":\"enums/KeyCodes.html#KEYCODE_KANA\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":405,\"kind\":16,\"name\":\"KEYCODE_ASSIST\",\"url\":\"enums/KeyCodes.html#KEYCODE_ASSIST\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":406,\"kind\":16,\"name\":\"KEYCODE_BRIGHTNESS_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_BRIGHTNESS_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":407,\"kind\":16,\"name\":\"KEYCODE_BRIGHTNESS_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_BRIGHTNESS_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":408,\"kind\":16,\"name\":\"KEYCODE_MEDIA_AUDIO_TRACK\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_AUDIO_TRACK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":409,\"kind\":16,\"name\":\"KEYCODE_SLEEP\",\"url\":\"enums/KeyCodes.html#KEYCODE_SLEEP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":410,\"kind\":16,\"name\":\"KEYCODE_WAKEUP\",\"url\":\"enums/KeyCodes.html#KEYCODE_WAKEUP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":411,\"kind\":16,\"name\":\"KEYCODE_PAIRING\",\"url\":\"enums/KeyCodes.html#KEYCODE_PAIRING\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":412,\"kind\":16,\"name\":\"KEYCODE_MEDIA_TOP_MENU\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_TOP_MENU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":413,\"kind\":16,\"name\":\"KEYCODE_11\",\"url\":\"enums/KeyCodes.html#KEYCODE_11\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":414,\"kind\":16,\"name\":\"KEYCODE_12\",\"url\":\"enums/KeyCodes.html#KEYCODE_12\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":415,\"kind\":16,\"name\":\"KEYCODE_LAST_CHANNEL\",\"url\":\"enums/KeyCodes.html#KEYCODE_LAST_CHANNEL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":416,\"kind\":16,\"name\":\"KEYCODE_TV_DATA_SERVICE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_DATA_SERVICE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":417,\"kind\":16,\"name\":\"KEYCODE_VOICE_ASSIST\",\"url\":\"enums/KeyCodes.html#KEYCODE_VOICE_ASSIST\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":418,\"kind\":16,\"name\":\"KEYCODE_TV_RADIO_SERVICE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_RADIO_SERVICE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":419,\"kind\":16,\"name\":\"KEYCODE_TV_TELETEXT\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_TELETEXT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":420,\"kind\":16,\"name\":\"KEYCODE_TV_NUMBER_ENTRY\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_NUMBER_ENTRY\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":421,\"kind\":16,\"name\":\"KEYCODE_TV_TERRESTRIAL_ANALOG\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_TERRESTRIAL_ANALOG\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":422,\"kind\":16,\"name\":\"KEYCODE_TV_TERRESTRIAL_DIGITAL\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_TERRESTRIAL_DIGITAL\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":423,\"kind\":16,\"name\":\"KEYCODE_TV_SATELLITE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_SATELLITE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":424,\"kind\":16,\"name\":\"KEYCODE_TV_SATELLITE_BS\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_SATELLITE_BS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":425,\"kind\":16,\"name\":\"KEYCODE_TV_SATELLITE_CS\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_SATELLITE_CS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":426,\"kind\":16,\"name\":\"KEYCODE_TV_SATELLITE_SERVICE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_SATELLITE_SERVICE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":427,\"kind\":16,\"name\":\"KEYCODE_TV_NETWORK\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_NETWORK\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":428,\"kind\":16,\"name\":\"KEYCODE_TV_ANTENNA_CABLE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_ANTENNA_CABLE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":429,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_HDMI_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_HDMI_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":430,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_HDMI_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_HDMI_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":431,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_HDMI_3\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_HDMI_3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":432,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_HDMI_4\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_HDMI_4\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":433,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_COMPOSITE_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_COMPOSITE_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":434,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_COMPOSITE_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_COMPOSITE_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":435,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_COMPONENT_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_COMPONENT_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":436,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_COMPONENT_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_COMPONENT_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":437,\"kind\":16,\"name\":\"KEYCODE_TV_INPUT_VGA_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_INPUT_VGA_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":438,\"kind\":16,\"name\":\"KEYCODE_TV_AUDIO_DESCRIPTION\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_AUDIO_DESCRIPTION\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":439,\"kind\":16,\"name\":\"KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":440,\"kind\":16,\"name\":\"KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":441,\"kind\":16,\"name\":\"KEYCODE_TV_ZOOM_MODE\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_ZOOM_MODE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":442,\"kind\":16,\"name\":\"KEYCODE_TV_CONTENTS_MENU\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_CONTENTS_MENU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":443,\"kind\":16,\"name\":\"KEYCODE_TV_MEDIA_CONTEXT_MENU\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_MEDIA_CONTEXT_MENU\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":444,\"kind\":16,\"name\":\"KEYCODE_TV_TIMER_PROGRAMMING\",\"url\":\"enums/KeyCodes.html#KEYCODE_TV_TIMER_PROGRAMMING\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":445,\"kind\":16,\"name\":\"KEYCODE_HELP\",\"url\":\"enums/KeyCodes.html#KEYCODE_HELP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":446,\"kind\":16,\"name\":\"KEYCODE_NAVIGATE_PREVIOUS\",\"url\":\"enums/KeyCodes.html#KEYCODE_NAVIGATE_PREVIOUS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":447,\"kind\":16,\"name\":\"KEYCODE_NAVIGATE_NEXT\",\"url\":\"enums/KeyCodes.html#KEYCODE_NAVIGATE_NEXT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":448,\"kind\":16,\"name\":\"KEYCODE_NAVIGATE_IN\",\"url\":\"enums/KeyCodes.html#KEYCODE_NAVIGATE_IN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":449,\"kind\":16,\"name\":\"KEYCODE_NAVIGATE_OUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_NAVIGATE_OUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":450,\"kind\":16,\"name\":\"KEYCODE_STEM_PRIMARY\",\"url\":\"enums/KeyCodes.html#KEYCODE_STEM_PRIMARY\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":451,\"kind\":16,\"name\":\"KEYCODE_STEM_1\",\"url\":\"enums/KeyCodes.html#KEYCODE_STEM_1\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":452,\"kind\":16,\"name\":\"KEYCODE_STEM_2\",\"url\":\"enums/KeyCodes.html#KEYCODE_STEM_2\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":453,\"kind\":16,\"name\":\"KEYCODE_STEM_3\",\"url\":\"enums/KeyCodes.html#KEYCODE_STEM_3\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":454,\"kind\":16,\"name\":\"KEYCODE_DPAD_UP_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_UP_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":455,\"kind\":16,\"name\":\"KEYCODE_DPAD_DOWN_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_DOWN_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":456,\"kind\":16,\"name\":\"KEYCODE_DPAD_UP_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_UP_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":457,\"kind\":16,\"name\":\"KEYCODE_DPAD_DOWN_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_DPAD_DOWN_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":458,\"kind\":16,\"name\":\"KEYCODE_MEDIA_SKIP_FORWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_SKIP_FORWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":459,\"kind\":16,\"name\":\"KEYCODE_MEDIA_SKIP_BACKWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_SKIP_BACKWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":460,\"kind\":16,\"name\":\"KEYCODE_MEDIA_STEP_FORWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_STEP_FORWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":461,\"kind\":16,\"name\":\"KEYCODE_MEDIA_STEP_BACKWARD\",\"url\":\"enums/KeyCodes.html#KEYCODE_MEDIA_STEP_BACKWARD\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":462,\"kind\":16,\"name\":\"KEYCODE_SOFT_SLEEP\",\"url\":\"enums/KeyCodes.html#KEYCODE_SOFT_SLEEP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":463,\"kind\":16,\"name\":\"KEYCODE_CUT\",\"url\":\"enums/KeyCodes.html#KEYCODE_CUT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":464,\"kind\":16,\"name\":\"KEYCODE_COPY\",\"url\":\"enums/KeyCodes.html#KEYCODE_COPY\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":465,\"kind\":16,\"name\":\"KEYCODE_PASTE\",\"url\":\"enums/KeyCodes.html#KEYCODE_PASTE\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":466,\"kind\":16,\"name\":\"KEYCODE_SYSTEM_NAVIGATION_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYSTEM_NAVIGATION_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":467,\"kind\":16,\"name\":\"KEYCODE_SYSTEM_NAVIGATION_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYSTEM_NAVIGATION_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":468,\"kind\":16,\"name\":\"KEYCODE_SYSTEM_NAVIGATION_LEFT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYSTEM_NAVIGATION_LEFT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":469,\"kind\":16,\"name\":\"KEYCODE_SYSTEM_NAVIGATION_RIGHT\",\"url\":\"enums/KeyCodes.html#KEYCODE_SYSTEM_NAVIGATION_RIGHT\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":470,\"kind\":16,\"name\":\"KEYCODE_ALL_APPS\",\"url\":\"enums/KeyCodes.html#KEYCODE_ALL_APPS\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":471,\"kind\":16,\"name\":\"KEYCODE_REFRESH\",\"url\":\"enums/KeyCodes.html#KEYCODE_REFRESH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":472,\"kind\":16,\"name\":\"KEYCODE_THUMBS_UP\",\"url\":\"enums/KeyCodes.html#KEYCODE_THUMBS_UP\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":473,\"kind\":16,\"name\":\"KEYCODE_THUMBS_DOWN\",\"url\":\"enums/KeyCodes.html#KEYCODE_THUMBS_DOWN\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":474,\"kind\":16,\"name\":\"KEYCODE_PROFILE_SWITCH\",\"url\":\"enums/KeyCodes.html#KEYCODE_PROFILE_SWITCH\",\"classes\":\"tsd-kind-enum-member tsd-parent-kind-enum\",\"parent\":\"KeyCodes\"},{\"id\":475,\"kind\":16777216,\"name\":\"default\",\"url\":\"modules.html#default\",\"classes\":\"tsd-kind-reference\"}],\"index\":{\"version\":\"2.3.9\",\"fields\":[\"name\",\"parent\"],\"fieldVectors\":[[\"name/0\",[0,46.634]],[\"parent/0\",[]],[\"name/1\",[1,57.621]],[\"parent/1\",[0,4.547]],[\"name/2\",[2,57.621]],[\"parent/2\",[0,4.547]],[\"name/3\",[3,44.628]],[\"parent/3\",[0,4.547]],[\"name/4\",[4,31.471]],[\"parent/4\",[]],[\"name/5\",[5,57.621]],[\"parent/5\",[4,3.069]],[\"name/6\",[6,57.621]],[\"parent/6\",[4,3.069]],[\"name/7\",[7,57.621]],[\"parent/7\",[4,3.069]],[\"name/8\",[3,44.628]],[\"parent/8\",[4,3.069]],[\"name/9\",[8,57.621]],[\"parent/9\",[4,3.069]],[\"name/10\",[9,57.621]],[\"parent/10\",[4,3.069]],[\"name/11\",[10,57.621]],[\"parent/11\",[4,3.069]],[\"name/12\",[11,57.621]],[\"parent/12\",[4,3.069]],[\"name/13\",[12,57.621]],[\"parent/13\",[4,3.069]],[\"name/14\",[13,57.621]],[\"parent/14\",[4,3.069]],[\"name/15\",[14,57.621]],[\"parent/15\",[4,3.069]],[\"name/16\",[15,57.621]],[\"parent/16\",[4,3.069]],[\"name/17\",[16,57.621]],[\"parent/17\",[4,3.069]],[\"name/18\",[17,57.621]],[\"parent/18\",[4,3.069]],[\"name/19\",[18,57.621]],[\"parent/19\",[4,3.069]],[\"name/20\",[19,57.621]],[\"parent/20\",[4,3.069]],[\"name/21\",[20,57.621]],[\"parent/21\",[4,3.069]],[\"name/22\",[21,57.621]],[\"parent/22\",[4,3.069]],[\"name/23\",[22,52.512]],[\"parent/23\",[]],[\"name/24\",[23,57.621]],[\"parent/24\",[22,5.12]],[\"name/25\",[24,52.512]],[\"parent/25\",[]],[\"name/26\",[25,52.512]],[\"parent/26\",[24,5.12]],[\"name/27\",[26,36.418]],[\"parent/27\",[]],[\"name/28\",[27,49.148]],[\"parent/28\",[26,3.551]],[\"name/29\",[28,57.621]],[\"parent/29\",[26,3.551]],[\"name/30\",[29,57.621]],[\"parent/30\",[26,3.551]],[\"name/31\",[30,57.621]],[\"parent/31\",[26,3.551]],[\"name/32\",[31,57.621]],[\"parent/32\",[26,3.551]],[\"name/33\",[32,57.621]],[\"parent/33\",[26,3.551]],[\"name/34\",[33,57.621]],[\"parent/34\",[26,3.551]],[\"name/35\",[34,57.621]],[\"parent/35\",[26,3.551]],[\"name/36\",[35,57.621]],[\"parent/36\",[26,3.551]],[\"name/37\",[36,57.621]],[\"parent/37\",[26,3.551]],[\"name/38\",[37,57.621]],[\"parent/38\",[26,3.551]],[\"name/39\",[38,57.621]],[\"parent/39\",[]],[\"name/40\",[39,46.634]],[\"parent/40\",[]],[\"name/41\",[40,52.512]],[\"parent/41\",[39,4.547]],[\"name/42\",[41,49.148]],[\"parent/42\",[39,4.547]],[\"name/43\",[42,40.275]],[\"parent/43\",[]],[\"name/44\",[43,57.621]],[\"parent/44\",[42,3.927]],[\"name/45\",[44,57.621]],[\"parent/45\",[42,3.927]],[\"name/46\",[45,57.621]],[\"parent/46\",[42,3.927]],[\"name/47\",[39,46.634]],[\"parent/47\",[42,3.927]],[\"name/48\",[46,57.621]],[\"parent/48\",[42,3.927]],[\"name/49\",[40,52.512]],[\"parent/49\",[42,3.927]],[\"name/50\",[41,49.148]],[\"parent/50\",[42,3.927]],[\"name/51\",[47,49.148]],[\"parent/51\",[]],[\"name/52\",[48,57.621]],[\"parent/52\",[47,4.792]],[\"name/53\",[49,57.621]],[\"parent/53\",[47,4.792]],[\"name/54\",[50,57.621]],[\"parent/54\",[]],[\"name/55\",[51,44.628]],[\"parent/55\",[]],[\"name/56\",[52,52.512]],[\"parent/56\",[51,4.352]],[\"name/57\",[53,52.512]],[\"parent/57\",[51,4.352]],[\"name/58\",[54,52.512]],[\"parent/58\",[51,4.352]],[\"name/59\",[55,34.267]],[\"parent/59\",[]],[\"name/60\",[56,52.512]],[\"parent/60\",[55,3.341]],[\"name/61\",[57,57.621]],[\"parent/61\",[55,3.341]],[\"name/62\",[58,57.621]],[\"parent/62\",[55,3.341]],[\"name/63\",[59,57.621]],[\"parent/63\",[55,3.341]],[\"name/64\",[60,57.621]],[\"parent/64\",[55,3.341]],[\"name/65\",[61,57.621]],[\"parent/65\",[55,3.341]],[\"name/66\",[62,57.621]],[\"parent/66\",[55,3.341]],[\"name/67\",[63,57.621]],[\"parent/67\",[55,3.341]],[\"name/68\",[64,57.621]],[\"parent/68\",[55,3.341]],[\"name/69\",[65,57.621]],[\"parent/69\",[55,3.341]],[\"name/70\",[66,57.621]],[\"parent/70\",[55,3.341]],[\"name/71\",[67,57.621]],[\"parent/71\",[55,3.341]],[\"name/72\",[68,57.621]],[\"parent/72\",[55,3.341]],[\"name/73\",[69,57.621]],[\"parent/73\",[55,3.341]],[\"name/74\",[70,52.512]],[\"parent/74\",[]],[\"name/75\",[71,57.621]],[\"parent/75\",[70,5.12]],[\"name/76\",[72,57.621]],[\"parent/76\",[]],[\"name/77\",[73,46.634]],[\"parent/77\",[]],[\"name/78\",[54,52.512]],[\"parent/78\",[73,4.547]],[\"name/79\",[53,52.512]],[\"parent/79\",[73,4.547]],[\"name/80\",[74,52.512]],[\"parent/80\",[]],[\"name/81\",[75,57.621]],[\"parent/81\",[74,5.12]],[\"name/82\",[76,37.252]],[\"parent/82\",[]],[\"name/83\",[77,57.621]],[\"parent/83\",[76,3.632]],[\"name/84\",[78,57.621]],[\"parent/84\",[76,3.632]],[\"name/85\",[27,49.148]],[\"parent/85\",[76,3.632]],[\"name/86\",[79,52.512]],[\"parent/86\",[76,3.632]],[\"name/87\",[80,52.512]],[\"parent/87\",[76,3.632]],[\"name/88\",[81,52.512]],[\"parent/88\",[76,3.632]],[\"name/89\",[82,52.512]],[\"parent/89\",[76,3.632]],[\"name/90\",[83,52.512]],[\"parent/90\",[76,3.632]],[\"name/91\",[84,52.512]],[\"parent/91\",[76,3.632]],[\"name/92\",[85,52.512]],[\"parent/92\",[76,3.632]],[\"name/93\",[86,39.162]],[\"parent/93\",[]],[\"name/94\",[27,49.148]],[\"parent/94\",[86,3.819]],[\"name/95\",[79,52.512]],[\"parent/95\",[86,3.819]],[\"name/96\",[80,52.512]],[\"parent/96\",[86,3.819]],[\"name/97\",[81,52.512]],[\"parent/97\",[86,3.819]],[\"name/98\",[82,52.512]],[\"parent/98\",[86,3.819]],[\"name/99\",[83,52.512]],[\"parent/99\",[86,3.819]],[\"name/100\",[84,52.512]],[\"parent/100\",[86,3.819]],[\"name/101\",[85,52.512]],[\"parent/101\",[86,3.819]],[\"name/102\",[87,57.621]],[\"parent/102\",[]],[\"name/103\",[88,57.621]],[\"parent/103\",[]],[\"name/104\",[89,46.634]],[\"parent/104\",[]],[\"name/105\",[90,57.621]],[\"parent/105\",[89,4.547]],[\"name/106\",[41,49.148]],[\"parent/106\",[89,4.547]],[\"name/107\",[91,57.621]],[\"parent/107\",[89,4.547]],[\"name/108\",[92,46.634]],[\"parent/108\",[]],[\"name/109\",[93,57.621]],[\"parent/109\",[92,4.547]],[\"name/110\",[94,57.621]],[\"parent/110\",[92,4.547]],[\"name/111\",[95,57.621]],[\"parent/111\",[92,4.547]],[\"name/112\",[96,52.512]],[\"parent/112\",[]],[\"name/113\",[97,57.621]],[\"parent/113\",[96,5.12]],[\"name/114\",[98,33.053]],[\"parent/114\",[]],[\"name/115\",[3,44.628]],[\"parent/115\",[98,3.223]],[\"name/116\",[99,57.621]],[\"parent/116\",[98,3.223]],[\"name/117\",[100,57.621]],[\"parent/117\",[98,3.223]],[\"name/118\",[101,57.621]],[\"parent/118\",[98,3.223]],[\"name/119\",[25,52.512]],[\"parent/119\",[98,3.223]],[\"name/120\",[102,57.621]],[\"parent/120\",[98,3.223]],[\"name/121\",[103,49.148]],[\"parent/121\",[98,3.223]],[\"name/122\",[56,52.512]],[\"parent/122\",[98,3.223]],[\"name/123\",[104,57.621]],[\"parent/123\",[98,3.223]],[\"name/124\",[105,57.621]],[\"parent/124\",[98,3.223]],[\"name/125\",[106,57.621]],[\"parent/125\",[98,3.223]],[\"name/126\",[107,57.621]],[\"parent/126\",[98,3.223]],[\"name/127\",[108,57.621]],[\"parent/127\",[98,3.223]],[\"name/128\",[109,57.621]],[\"parent/128\",[98,3.223]],[\"name/129\",[110,57.621]],[\"parent/129\",[98,3.223]],[\"name/130\",[111,23.281]],[\"parent/130\",[]],[\"name/131\",[3,44.628]],[\"parent/131\",[111,2.27]],[\"name/132\",[98,33.053]],[\"parent/132\",[111,2.27]],[\"name/133\",[52,52.512]],[\"parent/133\",[111,2.27]],[\"name/134\",[112,57.621]],[\"parent/134\",[111,2.27]],[\"name/135\",[113,57.621]],[\"parent/135\",[111,2.27]],[\"name/136\",[114,57.621]],[\"parent/136\",[111,2.27]],[\"name/137\",[115,57.621]],[\"parent/137\",[111,2.27]],[\"name/138\",[116,57.621]],[\"parent/138\",[111,2.27]],[\"name/139\",[117,57.621]],[\"parent/139\",[111,2.27]],[\"name/140\",[118,57.621]],[\"parent/140\",[111,2.27]],[\"name/141\",[51,44.628]],[\"parent/141\",[111,2.27]],[\"name/142\",[119,57.621]],[\"parent/142\",[111,2.27]],[\"name/143\",[73,46.634]],[\"parent/143\",[111,2.27]],[\"name/144\",[120,57.621]],[\"parent/144\",[111,2.27]],[\"name/145\",[103,49.148]],[\"parent/145\",[111,2.27]],[\"name/146\",[121,57.621]],[\"parent/146\",[111,2.27]],[\"name/147\",[122,57.621]],[\"parent/147\",[111,2.27]],[\"name/148\",[123,57.621]],[\"parent/148\",[111,2.27]],[\"name/149\",[124,57.621]],[\"parent/149\",[111,2.27]],[\"name/150\",[125,57.621]],[\"parent/150\",[111,2.27]],[\"name/151\",[126,57.621]],[\"parent/151\",[111,2.27]],[\"name/152\",[127,57.621]],[\"parent/152\",[111,2.27]],[\"name/153\",[128,57.621]],[\"parent/153\",[111,2.27]],[\"name/154\",[129,57.621]],[\"parent/154\",[111,2.27]],[\"name/155\",[130,57.621]],[\"parent/155\",[111,2.27]],[\"name/156\",[131,57.621]],[\"parent/156\",[111,2.27]],[\"name/157\",[132,57.621]],[\"parent/157\",[111,2.27]],[\"name/158\",[133,57.621]],[\"parent/158\",[111,2.27]],[\"name/159\",[134,57.621]],[\"parent/159\",[111,2.27]],[\"name/160\",[135,57.621]],[\"parent/160\",[111,2.27]],[\"name/161\",[136,57.621]],[\"parent/161\",[111,2.27]],[\"name/162\",[137,57.621]],[\"parent/162\",[111,2.27]],[\"name/163\",[138,57.621]],[\"parent/163\",[111,2.27]],[\"name/164\",[139,57.621]],[\"parent/164\",[111,2.27]],[\"name/165\",[140,57.621]],[\"parent/165\",[111,2.27]],[\"name/166\",[141,57.621]],[\"parent/166\",[111,2.27]],[\"name/167\",[142,57.621]],[\"parent/167\",[111,2.27]],[\"name/168\",[143,57.621]],[\"parent/168\",[111,2.27]],[\"name/169\",[144,57.621]],[\"parent/169\",[111,2.27]],[\"name/170\",[145,57.621]],[\"parent/170\",[111,2.27]],[\"name/171\",[146,57.621]],[\"parent/171\",[111,2.27]],[\"name/172\",[147,57.621]],[\"parent/172\",[111,2.27]],[\"name/173\",[148,57.621]],[\"parent/173\",[111,2.27]],[\"name/174\",[149,57.621]],[\"parent/174\",[111,2.27]],[\"name/175\",[150,57.621]],[\"parent/175\",[111,2.27]],[\"name/176\",[151,39.162]],[\"parent/176\",[]],[\"name/177\",[3,44.628]],[\"parent/177\",[151,3.819]],[\"name/178\",[152,57.621]],[\"parent/178\",[151,3.819]],[\"name/179\",[4,31.471]],[\"parent/179\",[151,3.819]],[\"name/180\",[153,57.621]],[\"parent/180\",[151,3.819]],[\"name/181\",[103,49.148]],[\"parent/181\",[151,3.819]],[\"name/182\",[154,57.621]],[\"parent/182\",[151,3.819]],[\"name/183\",[155,57.621]],[\"parent/183\",[151,3.819]],[\"name/184\",[156,57.621]],[\"parent/184\",[151,3.819]],[\"name/185\",[157,4.959]],[\"parent/185\",[]],[\"name/186\",[158,57.621]],[\"parent/186\",[157,0.484]],[\"name/187\",[159,57.621]],[\"parent/187\",[157,0.484]],[\"name/188\",[160,57.621]],[\"parent/188\",[157,0.484]],[\"name/189\",[161,57.621]],[\"parent/189\",[157,0.484]],[\"name/190\",[162,57.621]],[\"parent/190\",[157,0.484]],[\"name/191\",[163,57.621]],[\"parent/191\",[157,0.484]],[\"name/192\",[164,57.621]],[\"parent/192\",[157,0.484]],[\"name/193\",[165,57.621]],[\"parent/193\",[157,0.484]],[\"name/194\",[166,57.621]],[\"parent/194\",[157,0.484]],[\"name/195\",[167,57.621]],[\"parent/195\",[157,0.484]],[\"name/196\",[168,57.621]],[\"parent/196\",[157,0.484]],[\"name/197\",[169,57.621]],[\"parent/197\",[157,0.484]],[\"name/198\",[170,57.621]],[\"parent/198\",[157,0.484]],[\"name/199\",[171,57.621]],[\"parent/199\",[157,0.484]],[\"name/200\",[172,57.621]],[\"parent/200\",[157,0.484]],[\"name/201\",[173,57.621]],[\"parent/201\",[157,0.484]],[\"name/202\",[174,57.621]],[\"parent/202\",[157,0.484]],[\"name/203\",[175,57.621]],[\"parent/203\",[157,0.484]],[\"name/204\",[176,57.621]],[\"parent/204\",[157,0.484]],[\"name/205\",[177,57.621]],[\"parent/205\",[157,0.484]],[\"name/206\",[178,57.621]],[\"parent/206\",[157,0.484]],[\"name/207\",[179,57.621]],[\"parent/207\",[157,0.484]],[\"name/208\",[180,57.621]],[\"parent/208\",[157,0.484]],[\"name/209\",[181,57.621]],[\"parent/209\",[157,0.484]],[\"name/210\",[182,57.621]],[\"parent/210\",[157,0.484]],[\"name/211\",[183,57.621]],[\"parent/211\",[157,0.484]],[\"name/212\",[184,57.621]],[\"parent/212\",[157,0.484]],[\"name/213\",[185,57.621]],[\"parent/213\",[157,0.484]],[\"name/214\",[186,57.621]],[\"parent/214\",[157,0.484]],[\"name/215\",[187,57.621]],[\"parent/215\",[157,0.484]],[\"name/216\",[188,57.621]],[\"parent/216\",[157,0.484]],[\"name/217\",[189,57.621]],[\"parent/217\",[157,0.484]],[\"name/218\",[190,57.621]],[\"parent/218\",[157,0.484]],[\"name/219\",[191,57.621]],[\"parent/219\",[157,0.484]],[\"name/220\",[192,57.621]],[\"parent/220\",[157,0.484]],[\"name/221\",[193,57.621]],[\"parent/221\",[157,0.484]],[\"name/222\",[194,57.621]],[\"parent/222\",[157,0.484]],[\"name/223\",[195,57.621]],[\"parent/223\",[157,0.484]],[\"name/224\",[196,57.621]],[\"parent/224\",[157,0.484]],[\"name/225\",[197,57.621]],[\"parent/225\",[157,0.484]],[\"name/226\",[198,57.621]],[\"parent/226\",[157,0.484]],[\"name/227\",[199,57.621]],[\"parent/227\",[157,0.484]],[\"name/228\",[200,57.621]],[\"parent/228\",[157,0.484]],[\"name/229\",[201,57.621]],[\"parent/229\",[157,0.484]],[\"name/230\",[202,57.621]],[\"parent/230\",[157,0.484]],[\"name/231\",[203,57.621]],[\"parent/231\",[157,0.484]],[\"name/232\",[204,57.621]],[\"parent/232\",[157,0.484]],[\"name/233\",[205,57.621]],[\"parent/233\",[157,0.484]],[\"name/234\",[206,57.621]],[\"parent/234\",[157,0.484]],[\"name/235\",[207,57.621]],[\"parent/235\",[157,0.484]],[\"name/236\",[208,57.621]],[\"parent/236\",[157,0.484]],[\"name/237\",[209,57.621]],[\"parent/237\",[157,0.484]],[\"name/238\",[210,57.621]],[\"parent/238\",[157,0.484]],[\"name/239\",[211,57.621]],[\"parent/239\",[157,0.484]],[\"name/240\",[212,57.621]],[\"parent/240\",[157,0.484]],[\"name/241\",[213,57.621]],[\"parent/241\",[157,0.484]],[\"name/242\",[214,57.621]],[\"parent/242\",[157,0.484]],[\"name/243\",[215,57.621]],[\"parent/243\",[157,0.484]],[\"name/244\",[216,57.621]],[\"parent/244\",[157,0.484]],[\"name/245\",[217,57.621]],[\"parent/245\",[157,0.484]],[\"name/246\",[218,57.621]],[\"parent/246\",[157,0.484]],[\"name/247\",[219,57.621]],[\"parent/247\",[157,0.484]],[\"name/248\",[220,57.621]],[\"parent/248\",[157,0.484]],[\"name/249\",[221,57.621]],[\"parent/249\",[157,0.484]],[\"name/250\",[222,57.621]],[\"parent/250\",[157,0.484]],[\"name/251\",[223,57.621]],[\"parent/251\",[157,0.484]],[\"name/252\",[224,57.621]],[\"parent/252\",[157,0.484]],[\"name/253\",[225,57.621]],[\"parent/253\",[157,0.484]],[\"name/254\",[226,57.621]],[\"parent/254\",[157,0.484]],[\"name/255\",[227,57.621]],[\"parent/255\",[157,0.484]],[\"name/256\",[228,57.621]],[\"parent/256\",[157,0.484]],[\"name/257\",[229,57.621]],[\"parent/257\",[157,0.484]],[\"name/258\",[230,57.621]],[\"parent/258\",[157,0.484]],[\"name/259\",[231,57.621]],[\"parent/259\",[157,0.484]],[\"name/260\",[232,57.621]],[\"parent/260\",[157,0.484]],[\"name/261\",[233,57.621]],[\"parent/261\",[157,0.484]],[\"name/262\",[234,57.621]],[\"parent/262\",[157,0.484]],[\"name/263\",[235,57.621]],[\"parent/263\",[157,0.484]],[\"name/264\",[236,57.621]],[\"parent/264\",[157,0.484]],[\"name/265\",[237,57.621]],[\"parent/265\",[157,0.484]],[\"name/266\",[238,57.621]],[\"parent/266\",[157,0.484]],[\"name/267\",[239,57.621]],[\"parent/267\",[157,0.484]],[\"name/268\",[240,57.621]],[\"parent/268\",[157,0.484]],[\"name/269\",[241,57.621]],[\"parent/269\",[157,0.484]],[\"name/270\",[242,57.621]],[\"parent/270\",[157,0.484]],[\"name/271\",[243,57.621]],[\"parent/271\",[157,0.484]],[\"name/272\",[244,57.621]],[\"parent/272\",[157,0.484]],[\"name/273\",[245,57.621]],[\"parent/273\",[157,0.484]],[\"name/274\",[246,57.621]],[\"parent/274\",[157,0.484]],[\"name/275\",[247,57.621]],[\"parent/275\",[157,0.484]],[\"name/276\",[248,57.621]],[\"parent/276\",[157,0.484]],[\"name/277\",[249,57.621]],[\"parent/277\",[157,0.484]],[\"name/278\",[250,57.621]],[\"parent/278\",[157,0.484]],[\"name/279\",[251,57.621]],[\"parent/279\",[157,0.484]],[\"name/280\",[252,57.621]],[\"parent/280\",[157,0.484]],[\"name/281\",[253,57.621]],[\"parent/281\",[157,0.484]],[\"name/282\",[254,57.621]],[\"parent/282\",[157,0.484]],[\"name/283\",[255,57.621]],[\"parent/283\",[157,0.484]],[\"name/284\",[256,57.621]],[\"parent/284\",[157,0.484]],[\"name/285\",[257,57.621]],[\"parent/285\",[157,0.484]],[\"name/286\",[258,57.621]],[\"parent/286\",[157,0.484]],[\"name/287\",[259,57.621]],[\"parent/287\",[157,0.484]],[\"name/288\",[260,57.621]],[\"parent/288\",[157,0.484]],[\"name/289\",[261,57.621]],[\"parent/289\",[157,0.484]],[\"name/290\",[262,57.621]],[\"parent/290\",[157,0.484]],[\"name/291\",[263,57.621]],[\"parent/291\",[157,0.484]],[\"name/292\",[264,57.621]],[\"parent/292\",[157,0.484]],[\"name/293\",[265,57.621]],[\"parent/293\",[157,0.484]],[\"name/294\",[266,57.621]],[\"parent/294\",[157,0.484]],[\"name/295\",[267,57.621]],[\"parent/295\",[157,0.484]],[\"name/296\",[268,57.621]],[\"parent/296\",[157,0.484]],[\"name/297\",[269,57.621]],[\"parent/297\",[157,0.484]],[\"name/298\",[270,57.621]],[\"parent/298\",[157,0.484]],[\"name/299\",[271,57.621]],[\"parent/299\",[157,0.484]],[\"name/300\",[272,57.621]],[\"parent/300\",[157,0.484]],[\"name/301\",[273,57.621]],[\"parent/301\",[157,0.484]],[\"name/302\",[274,57.621]],[\"parent/302\",[157,0.484]],[\"name/303\",[275,57.621]],[\"parent/303\",[157,0.484]],[\"name/304\",[276,57.621]],[\"parent/304\",[157,0.484]],[\"name/305\",[277,57.621]],[\"parent/305\",[157,0.484]],[\"name/306\",[278,57.621]],[\"parent/306\",[157,0.484]],[\"name/307\",[279,57.621]],[\"parent/307\",[157,0.484]],[\"name/308\",[280,57.621]],[\"parent/308\",[157,0.484]],[\"name/309\",[281,57.621]],[\"parent/309\",[157,0.484]],[\"name/310\",[282,57.621]],[\"parent/310\",[157,0.484]],[\"name/311\",[283,57.621]],[\"parent/311\",[157,0.484]],[\"name/312\",[284,57.621]],[\"parent/312\",[157,0.484]],[\"name/313\",[285,57.621]],[\"parent/313\",[157,0.484]],[\"name/314\",[286,57.621]],[\"parent/314\",[157,0.484]],[\"name/315\",[287,57.621]],[\"parent/315\",[157,0.484]],[\"name/316\",[288,57.621]],[\"parent/316\",[157,0.484]],[\"name/317\",[289,57.621]],[\"parent/317\",[157,0.484]],[\"name/318\",[290,57.621]],[\"parent/318\",[157,0.484]],[\"name/319\",[291,57.621]],[\"parent/319\",[157,0.484]],[\"name/320\",[292,57.621]],[\"parent/320\",[157,0.484]],[\"name/321\",[293,57.621]],[\"parent/321\",[157,0.484]],[\"name/322\",[294,57.621]],[\"parent/322\",[157,0.484]],[\"name/323\",[295,57.621]],[\"parent/323\",[157,0.484]],[\"name/324\",[296,57.621]],[\"parent/324\",[157,0.484]],[\"name/325\",[297,57.621]],[\"parent/325\",[157,0.484]],[\"name/326\",[298,57.621]],[\"parent/326\",[157,0.484]],[\"name/327\",[299,57.621]],[\"parent/327\",[157,0.484]],[\"name/328\",[300,57.621]],[\"parent/328\",[157,0.484]],[\"name/329\",[301,57.621]],[\"parent/329\",[157,0.484]],[\"name/330\",[302,57.621]],[\"parent/330\",[157,0.484]],[\"name/331\",[303,57.621]],[\"parent/331\",[157,0.484]],[\"name/332\",[304,57.621]],[\"parent/332\",[157,0.484]],[\"name/333\",[305,57.621]],[\"parent/333\",[157,0.484]],[\"name/334\",[306,57.621]],[\"parent/334\",[157,0.484]],[\"name/335\",[307,57.621]],[\"parent/335\",[157,0.484]],[\"name/336\",[308,57.621]],[\"parent/336\",[157,0.484]],[\"name/337\",[309,57.621]],[\"parent/337\",[157,0.484]],[\"name/338\",[310,57.621]],[\"parent/338\",[157,0.484]],[\"name/339\",[311,57.621]],[\"parent/339\",[157,0.484]],[\"name/340\",[312,57.621]],[\"parent/340\",[157,0.484]],[\"name/341\",[313,57.621]],[\"parent/341\",[157,0.484]],[\"name/342\",[314,57.621]],[\"parent/342\",[157,0.484]],[\"name/343\",[315,57.621]],[\"parent/343\",[157,0.484]],[\"name/344\",[316,57.621]],[\"parent/344\",[157,0.484]],[\"name/345\",[317,57.621]],[\"parent/345\",[157,0.484]],[\"name/346\",[318,57.621]],[\"parent/346\",[157,0.484]],[\"name/347\",[319,57.621]],[\"parent/347\",[157,0.484]],[\"name/348\",[320,57.621]],[\"parent/348\",[157,0.484]],[\"name/349\",[321,57.621]],[\"parent/349\",[157,0.484]],[\"name/350\",[322,57.621]],[\"parent/350\",[157,0.484]],[\"name/351\",[323,57.621]],[\"parent/351\",[157,0.484]],[\"name/352\",[324,57.621]],[\"parent/352\",[157,0.484]],[\"name/353\",[325,57.621]],[\"parent/353\",[157,0.484]],[\"name/354\",[326,57.621]],[\"parent/354\",[157,0.484]],[\"name/355\",[327,57.621]],[\"parent/355\",[157,0.484]],[\"name/356\",[328,57.621]],[\"parent/356\",[157,0.484]],[\"name/357\",[329,57.621]],[\"parent/357\",[157,0.484]],[\"name/358\",[330,57.621]],[\"parent/358\",[157,0.484]],[\"name/359\",[331,57.621]],[\"parent/359\",[157,0.484]],[\"name/360\",[332,57.621]],[\"parent/360\",[157,0.484]],[\"name/361\",[333,57.621]],[\"parent/361\",[157,0.484]],[\"name/362\",[334,57.621]],[\"parent/362\",[157,0.484]],[\"name/363\",[335,57.621]],[\"parent/363\",[157,0.484]],[\"name/364\",[336,57.621]],[\"parent/364\",[157,0.484]],[\"name/365\",[337,57.621]],[\"parent/365\",[157,0.484]],[\"name/366\",[338,57.621]],[\"parent/366\",[157,0.484]],[\"name/367\",[339,57.621]],[\"parent/367\",[157,0.484]],[\"name/368\",[340,57.621]],[\"parent/368\",[157,0.484]],[\"name/369\",[341,57.621]],[\"parent/369\",[157,0.484]],[\"name/370\",[342,57.621]],[\"parent/370\",[157,0.484]],[\"name/371\",[343,57.621]],[\"parent/371\",[157,0.484]],[\"name/372\",[344,57.621]],[\"parent/372\",[157,0.484]],[\"name/373\",[345,57.621]],[\"parent/373\",[157,0.484]],[\"name/374\",[346,57.621]],[\"parent/374\",[157,0.484]],[\"name/375\",[347,57.621]],[\"parent/375\",[157,0.484]],[\"name/376\",[348,57.621]],[\"parent/376\",[157,0.484]],[\"name/377\",[349,57.621]],[\"parent/377\",[157,0.484]],[\"name/378\",[350,57.621]],[\"parent/378\",[157,0.484]],[\"name/379\",[351,57.621]],[\"parent/379\",[157,0.484]],[\"name/380\",[352,57.621]],[\"parent/380\",[157,0.484]],[\"name/381\",[353,57.621]],[\"parent/381\",[157,0.484]],[\"name/382\",[354,57.621]],[\"parent/382\",[157,0.484]],[\"name/383\",[355,57.621]],[\"parent/383\",[157,0.484]],[\"name/384\",[356,57.621]],[\"parent/384\",[157,0.484]],[\"name/385\",[357,57.621]],[\"parent/385\",[157,0.484]],[\"name/386\",[358,57.621]],[\"parent/386\",[157,0.484]],[\"name/387\",[359,57.621]],[\"parent/387\",[157,0.484]],[\"name/388\",[360,57.621]],[\"parent/388\",[157,0.484]],[\"name/389\",[361,57.621]],[\"parent/389\",[157,0.484]],[\"name/390\",[362,57.621]],[\"parent/390\",[157,0.484]],[\"name/391\",[363,57.621]],[\"parent/391\",[157,0.484]],[\"name/392\",[364,57.621]],[\"parent/392\",[157,0.484]],[\"name/393\",[365,57.621]],[\"parent/393\",[157,0.484]],[\"name/394\",[366,57.621]],[\"parent/394\",[157,0.484]],[\"name/395\",[367,57.621]],[\"parent/395\",[157,0.484]],[\"name/396\",[368,57.621]],[\"parent/396\",[157,0.484]],[\"name/397\",[369,57.621]],[\"parent/397\",[157,0.484]],[\"name/398\",[370,57.621]],[\"parent/398\",[157,0.484]],[\"name/399\",[371,57.621]],[\"parent/399\",[157,0.484]],[\"name/400\",[372,57.621]],[\"parent/400\",[157,0.484]],[\"name/401\",[373,57.621]],[\"parent/401\",[157,0.484]],[\"name/402\",[374,57.621]],[\"parent/402\",[157,0.484]],[\"name/403\",[375,57.621]],[\"parent/403\",[157,0.484]],[\"name/404\",[376,57.621]],[\"parent/404\",[157,0.484]],[\"name/405\",[377,57.621]],[\"parent/405\",[157,0.484]],[\"name/406\",[378,57.621]],[\"parent/406\",[157,0.484]],[\"name/407\",[379,57.621]],[\"parent/407\",[157,0.484]],[\"name/408\",[380,57.621]],[\"parent/408\",[157,0.484]],[\"name/409\",[381,57.621]],[\"parent/409\",[157,0.484]],[\"name/410\",[382,57.621]],[\"parent/410\",[157,0.484]],[\"name/411\",[383,57.621]],[\"parent/411\",[157,0.484]],[\"name/412\",[384,57.621]],[\"parent/412\",[157,0.484]],[\"name/413\",[385,57.621]],[\"parent/413\",[157,0.484]],[\"name/414\",[386,57.621]],[\"parent/414\",[157,0.484]],[\"name/415\",[387,57.621]],[\"parent/415\",[157,0.484]],[\"name/416\",[388,57.621]],[\"parent/416\",[157,0.484]],[\"name/417\",[389,57.621]],[\"parent/417\",[157,0.484]],[\"name/418\",[390,57.621]],[\"parent/418\",[157,0.484]],[\"name/419\",[391,57.621]],[\"parent/419\",[157,0.484]],[\"name/420\",[392,57.621]],[\"parent/420\",[157,0.484]],[\"name/421\",[393,57.621]],[\"parent/421\",[157,0.484]],[\"name/422\",[394,57.621]],[\"parent/422\",[157,0.484]],[\"name/423\",[395,57.621]],[\"parent/423\",[157,0.484]],[\"name/424\",[396,57.621]],[\"parent/424\",[157,0.484]],[\"name/425\",[397,57.621]],[\"parent/425\",[157,0.484]],[\"name/426\",[398,57.621]],[\"parent/426\",[157,0.484]],[\"name/427\",[399,57.621]],[\"parent/427\",[157,0.484]],[\"name/428\",[400,57.621]],[\"parent/428\",[157,0.484]],[\"name/429\",[401,57.621]],[\"parent/429\",[157,0.484]],[\"name/430\",[402,57.621]],[\"parent/430\",[157,0.484]],[\"name/431\",[403,57.621]],[\"parent/431\",[157,0.484]],[\"name/432\",[404,57.621]],[\"parent/432\",[157,0.484]],[\"name/433\",[405,57.621]],[\"parent/433\",[157,0.484]],[\"name/434\",[406,57.621]],[\"parent/434\",[157,0.484]],[\"name/435\",[407,57.621]],[\"parent/435\",[157,0.484]],[\"name/436\",[408,57.621]],[\"parent/436\",[157,0.484]],[\"name/437\",[409,57.621]],[\"parent/437\",[157,0.484]],[\"name/438\",[410,57.621]],[\"parent/438\",[157,0.484]],[\"name/439\",[411,57.621]],[\"parent/439\",[157,0.484]],[\"name/440\",[412,57.621]],[\"parent/440\",[157,0.484]],[\"name/441\",[413,57.621]],[\"parent/441\",[157,0.484]],[\"name/442\",[414,57.621]],[\"parent/442\",[157,0.484]],[\"name/443\",[415,57.621]],[\"parent/443\",[157,0.484]],[\"name/444\",[416,57.621]],[\"parent/444\",[157,0.484]],[\"name/445\",[417,57.621]],[\"parent/445\",[157,0.484]],[\"name/446\",[418,57.621]],[\"parent/446\",[157,0.484]],[\"name/447\",[419,57.621]],[\"parent/447\",[157,0.484]],[\"name/448\",[420,57.621]],[\"parent/448\",[157,0.484]],[\"name/449\",[421,57.621]],[\"parent/449\",[157,0.484]],[\"name/450\",[422,57.621]],[\"parent/450\",[157,0.484]],[\"name/451\",[423,57.621]],[\"parent/451\",[157,0.484]],[\"name/452\",[424,57.621]],[\"parent/452\",[157,0.484]],[\"name/453\",[425,57.621]],[\"parent/453\",[157,0.484]],[\"name/454\",[426,57.621]],[\"parent/454\",[157,0.484]],[\"name/455\",[427,57.621]],[\"parent/455\",[157,0.484]],[\"name/456\",[428,57.621]],[\"parent/456\",[157,0.484]],[\"name/457\",[429,57.621]],[\"parent/457\",[157,0.484]],[\"name/458\",[430,57.621]],[\"parent/458\",[157,0.484]],[\"name/459\",[431,57.621]],[\"parent/459\",[157,0.484]],[\"name/460\",[432,57.621]],[\"parent/460\",[157,0.484]],[\"name/461\",[433,57.621]],[\"parent/461\",[157,0.484]],[\"name/462\",[434,57.621]],[\"parent/462\",[157,0.484]],[\"name/463\",[435,57.621]],[\"parent/463\",[157,0.484]],[\"name/464\",[436,57.621]],[\"parent/464\",[157,0.484]],[\"name/465\",[437,57.621]],[\"parent/465\",[157,0.484]],[\"name/466\",[438,57.621]],[\"parent/466\",[157,0.484]],[\"name/467\",[439,57.621]],[\"parent/467\",[157,0.484]],[\"name/468\",[440,57.621]],[\"parent/468\",[157,0.484]],[\"name/469\",[441,57.621]],[\"parent/469\",[157,0.484]],[\"name/470\",[442,57.621]],[\"parent/470\",[157,0.484]],[\"name/471\",[443,57.621]],[\"parent/471\",[157,0.484]],[\"name/472\",[444,57.621]],[\"parent/472\",[157,0.484]],[\"name/473\",[445,57.621]],[\"parent/473\",[157,0.484]],[\"name/474\",[446,57.621]],[\"parent/474\",[157,0.484]],[\"name/475\",[447,57.621]],[\"parent/475\",[]]],\"invertedIndex\":[[\"__type\",{\"_index\":23,\"name\":{\"24\":{}},\"parent\":{}}],[\"_escape\",{\"_index\":155,\"name\":{\"183\":{}},\"parent\":{}}],[\"_escapecompat\",{\"_index\":156,\"name\":{\"184\":{}},\"parent\":{}}],[\"_send\",{\"_index\":154,\"name\":{\"182\":{}},\"parent\":{}}],[\"action\",{\"_index\":79,\"name\":{\"86\":{},\"95\":{}},\"parent\":{}}],[\"adb\",{\"_index\":0,\"name\":{\"0\":{}},\"parent\":{\"1\":{},\"2\":{},\"3\":{}}}],[\"added\",{\"_index\":95,\"name\":{\"111\":{}},\"parent\":{}}],[\"alpha_length\",{\"_index\":69,\"name\":{\"73\":{}},\"parent\":{}}],[\"alpha_offset\",{\"_index\":68,\"name\":{\"72\":{}},\"parent\":{}}],[\"auth\",{\"_index\":75,\"name\":{\"81\":{}},\"parent\":{}}],[\"bin\",{\"_index\":25,\"name\":{\"26\":{},\"119\":{}},\"parent\":{}}],[\"blue_length\",{\"_index\":65,\"name\":{\"69\":{}},\"parent\":{}}],[\"blue_offset\",{\"_index\":64,\"name\":{\"68\":{}},\"parent\":{}}],[\"bpp\",{\"_index\":60,\"name\":{\"64\":{}},\"parent\":{}}],[\"callback\",{\"_index\":22,\"name\":{\"23\":{}},\"parent\":{\"24\":{}}}],[\"category\",{\"_index\":82,\"name\":{\"89\":{},\"98\":{}},\"parent\":{}}],[\"changed\",{\"_index\":94,\"name\":{\"110\":{}},\"parent\":{}}],[\"clear\",{\"_index\":135,\"name\":{\"160\":{}},\"parent\":{}}],[\"client\",{\"_index\":98,\"name\":{\"114\":{},\"132\":{}},\"parent\":{\"115\":{},\"116\":{},\"117\":{},\"118\":{},\"119\":{},\"120\":{},\"121\":{},\"122\":{},\"123\":{},\"124\":{},\"125\":{},\"126\":{},\"127\":{},\"128\":{},\"129\":{}}}],[\"clientoptions\",{\"_index\":24,\"name\":{\"25\":{}},\"parent\":{\"26\":{}}}],[\"comment\",{\"_index\":49,\"name\":{\"53\":{}},\"parent\":{}}],[\"component\",{\"_index\":83,\"name\":{\"90\":{},\"99\":{}},\"parent\":{}}],[\"connect\",{\"_index\":104,\"name\":{\"123\":{}},\"parent\":{}}],[\"connection\",{\"_index\":103,\"name\":{\"121\":{},\"145\":{},\"181\":{}},\"parent\":{}}],[\"constructor\",{\"_index\":3,\"name\":{\"3\":{},\"8\":{},\"115\":{},\"131\":{},\"177\":{}},\"parent\":{}}],[\"cpustats\",{\"_index\":26,\"name\":{\"27\":{}},\"parent\":{\"28\":{},\"29\":{},\"30\":{},\"31\":{},\"32\":{},\"33\":{},\"34\":{},\"35\":{},\"36\":{},\"37\":{},\"38\":{}}}],[\"createclient\",{\"_index\":2,\"name\":{\"2\":{}},\"parent\":{}}],[\"createtcpusbbridge\",{\"_index\":102,\"name\":{\"120\":{}},\"parent\":{}}],[\"data\",{\"_index\":80,\"name\":{\"87\":{},\"96\":{}},\"parent\":{}}],[\"debug\",{\"_index\":77,\"name\":{\"83\":{}},\"parent\":{}}],[\"default\",{\"_index\":447,\"name\":{\"475\":{}},\"parent\":{}}],[\"device\",{\"_index\":39,\"name\":{\"40\":{},\"47\":{}},\"parent\":{\"41\":{},\"42\":{}}}],[\"deviceclient\",{\"_index\":111,\"name\":{\"130\":{}},\"parent\":{\"131\":{},\"132\":{},\"133\":{},\"134\":{},\"135\":{},\"136\":{},\"137\":{},\"138\":{},\"139\":{},\"140\":{},\"141\":{},\"142\":{},\"143\":{},\"144\":{},\"145\":{},\"146\":{},\"147\":{},\"148\":{},\"149\":{},\"150\":{},\"151\":{},\"152\":{},\"153\":{},\"154\":{},\"155\":{},\"156\":{},\"157\":{},\"158\":{},\"159\":{},\"160\":{},\"161\":{},\"162\":{},\"163\":{},\"164\":{},\"165\":{},\"166\":{},\"167\":{},\"168\":{},\"169\":{},\"170\":{},\"171\":{},\"172\":{},\"173\":{},\"174\":{},\"175\":{}}}],[\"devicewithpath\",{\"_index\":42,\"name\":{\"43\":{}},\"parent\":{\"44\":{},\"45\":{},\"46\":{},\"47\":{},\"48\":{},\"49\":{},\"50\":{}}}],[\"disconnect\",{\"_index\":105,\"name\":{\"124\":{}},\"parent\":{}}],[\"end\",{\"_index\":10,\"name\":{\"11\":{}},\"parent\":{}}],[\"ended\",{\"_index\":8,\"name\":{\"9\":{}},\"parent\":{}}],[\"execute\",{\"_index\":152,\"name\":{\"178\":{}},\"parent\":{}}],[\"extendedpublickey\",{\"_index\":47,\"name\":{\"51\":{}},\"parent\":{\"52\":{},\"53\":{}}}],[\"extra\",{\"_index\":89,\"name\":{\"104\":{}},\"parent\":{\"105\":{},\"106\":{},\"107\":{}}}],[\"extraobject\",{\"_index\":88,\"name\":{\"103\":{}},\"parent\":{}}],[\"extras\",{\"_index\":85,\"name\":{\"92\":{},\"101\":{}},\"parent\":{}}],[\"extravalue\",{\"_index\":87,\"name\":{\"102\":{}},\"parent\":{}}],[\"failerror\",{\"_index\":5,\"name\":{\"5\":{}},\"parent\":{}}],[\"features\",{\"_index\":50,\"name\":{\"54\":{}},\"parent\":{}}],[\"fingerprint\",{\"_index\":48,\"name\":{\"52\":{}},\"parent\":{}}],[\"flags\",{\"_index\":84,\"name\":{\"91\":{},\"100\":{}},\"parent\":{}}],[\"format\",{\"_index\":57,\"name\":{\"61\":{}},\"parent\":{}}],[\"forward\",{\"_index\":51,\"name\":{\"55\":{},\"141\":{}},\"parent\":{\"56\":{},\"57\":{},\"58\":{}}}],[\"framebuffer\",{\"_index\":127,\"name\":{\"152\":{}},\"parent\":{}}],[\"framebuffermeta\",{\"_index\":55,\"name\":{\"59\":{}},\"parent\":{\"60\":{},\"61\":{},\"62\":{},\"63\":{},\"64\":{},\"65\":{},\"66\":{},\"67\":{},\"68\":{},\"69\":{},\"70\":{},\"71\":{},\"72\":{},\"73\":{}}}],[\"framebufferstreamwithmeta\",{\"_index\":70,\"name\":{\"74\":{}},\"parent\":{\"75\":{}}}],[\"getdevice\",{\"_index\":110,\"name\":{\"129\":{}},\"parent\":{}}],[\"getdevicepath\",{\"_index\":113,\"name\":{\"135\":{}},\"parent\":{}}],[\"getdhcpipaddress\",{\"_index\":118,\"name\":{\"140\":{}},\"parent\":{}}],[\"getfeatures\",{\"_index\":116,\"name\":{\"138\":{}},\"parent\":{}}],[\"getpackages\",{\"_index\":117,\"name\":{\"139\":{}},\"parent\":{}}],[\"getproperties\",{\"_index\":115,\"name\":{\"137\":{}},\"parent\":{}}],[\"getserialno\",{\"_index\":112,\"name\":{\"134\":{}},\"parent\":{}}],[\"getstate\",{\"_index\":114,\"name\":{\"136\":{}},\"parent\":{}}],[\"green_length\",{\"_index\":67,\"name\":{\"71\":{}},\"parent\":{}}],[\"green_offset\",{\"_index\":66,\"name\":{\"70\":{}},\"parent\":{}}],[\"guest\",{\"_index\":35,\"name\":{\"36\":{}},\"parent\":{}}],[\"guestnice\",{\"_index\":36,\"name\":{\"37\":{}},\"parent\":{}}],[\"height\",{\"_index\":59,\"name\":{\"63\":{}},\"parent\":{}}],[\"host\",{\"_index\":100,\"name\":{\"117\":{}},\"parent\":{}}],[\"id\",{\"_index\":40,\"name\":{\"41\":{},\"49\":{}},\"parent\":{}}],[\"idle\",{\"_index\":30,\"name\":{\"31\":{}},\"parent\":{}}],[\"install\",{\"_index\":136,\"name\":{\"161\":{}},\"parent\":{}}],[\"installremote\",{\"_index\":137,\"name\":{\"162\":{}},\"parent\":{}}],[\"iowait\",{\"_index\":31,\"name\":{\"32\":{}},\"parent\":{}}],[\"irq\",{\"_index\":32,\"name\":{\"33\":{}},\"parent\":{}}],[\"isinstalled\",{\"_index\":139,\"name\":{\"164\":{}},\"parent\":{}}],[\"key\",{\"_index\":90,\"name\":{\"105\":{}},\"parent\":{}}],[\"keycode_0\",{\"_index\":165,\"name\":{\"193\":{}},\"parent\":{}}],[\"keycode_1\",{\"_index\":166,\"name\":{\"194\":{}},\"parent\":{}}],[\"keycode_11\",{\"_index\":385,\"name\":{\"413\":{}},\"parent\":{}}],[\"keycode_12\",{\"_index\":386,\"name\":{\"414\":{}},\"parent\":{}}],[\"keycode_2\",{\"_index\":167,\"name\":{\"195\":{}},\"parent\":{}}],[\"keycode_3\",{\"_index\":168,\"name\":{\"196\":{}},\"parent\":{}}],[\"keycode_3d_mode\",{\"_index\":364,\"name\":{\"392\":{}},\"parent\":{}}],[\"keycode_4\",{\"_index\":169,\"name\":{\"197\":{}},\"parent\":{}}],[\"keycode_5\",{\"_index\":170,\"name\":{\"198\":{}},\"parent\":{}}],[\"keycode_6\",{\"_index\":171,\"name\":{\"199\":{}},\"parent\":{}}],[\"keycode_7\",{\"_index\":172,\"name\":{\"200\":{}},\"parent\":{}}],[\"keycode_8\",{\"_index\":173,\"name\":{\"201\":{}},\"parent\":{}}],[\"keycode_9\",{\"_index\":174,\"name\":{\"202\":{}},\"parent\":{}}],[\"keycode_a\",{\"_index\":187,\"name\":{\"215\":{}},\"parent\":{}}],[\"keycode_all_apps\",{\"_index\":442,\"name\":{\"470\":{}},\"parent\":{}}],[\"keycode_alt_left\",{\"_index\":215,\"name\":{\"243\":{}},\"parent\":{}}],[\"keycode_alt_right\",{\"_index\":216,\"name\":{\"244\":{}},\"parent\":{}}],[\"keycode_apostrophe\",{\"_index\":233,\"name\":{\"261\":{}},\"parent\":{}}],[\"keycode_app_switch\",{\"_index\":345,\"name\":{\"373\":{}},\"parent\":{}}],[\"keycode_assist\",{\"_index\":377,\"name\":{\"405\":{}},\"parent\":{}}],[\"keycode_at\",{\"_index\":235,\"name\":{\"263\":{}},\"parent\":{}}],[\"keycode_avr_input\",{\"_index\":340,\"name\":{\"368\":{}},\"parent\":{}}],[\"keycode_avr_power\",{\"_index\":339,\"name\":{\"367\":{}},\"parent\":{}}],[\"keycode_b\",{\"_index\":188,\"name\":{\"216\":{}},\"parent\":{}}],[\"keycode_back\",{\"_index\":162,\"name\":{\"190\":{}},\"parent\":{}}],[\"keycode_backslash\",{\"_index\":231,\"name\":{\"259\":{}},\"parent\":{}}],[\"keycode_bookmark\",{\"_index\":332,\"name\":{\"360\":{}},\"parent\":{}}],[\"keycode_break\",{\"_index\":279,\"name\":{\"307\":{}},\"parent\":{}}],[\"keycode_brightness_down\",{\"_index\":378,\"name\":{\"406\":{}},\"parent\":{}}],[\"keycode_brightness_up\",{\"_index\":379,\"name\":{\"407\":{}},\"parent\":{}}],[\"keycode_button_1\",{\"_index\":346,\"name\":{\"374\":{}},\"parent\":{}}],[\"keycode_button_10\",{\"_index\":355,\"name\":{\"383\":{}},\"parent\":{}}],[\"keycode_button_11\",{\"_index\":356,\"name\":{\"384\":{}},\"parent\":{}}],[\"keycode_button_12\",{\"_index\":357,\"name\":{\"385\":{}},\"parent\":{}}],[\"keycode_button_13\",{\"_index\":358,\"name\":{\"386\":{}},\"parent\":{}}],[\"keycode_button_14\",{\"_index\":359,\"name\":{\"387\":{}},\"parent\":{}}],[\"keycode_button_15\",{\"_index\":360,\"name\":{\"388\":{}},\"parent\":{}}],[\"keycode_button_16\",{\"_index\":361,\"name\":{\"389\":{}},\"parent\":{}}],[\"keycode_button_2\",{\"_index\":347,\"name\":{\"375\":{}},\"parent\":{}}],[\"keycode_button_3\",{\"_index\":348,\"name\":{\"376\":{}},\"parent\":{}}],[\"keycode_button_4\",{\"_index\":349,\"name\":{\"377\":{}},\"parent\":{}}],[\"keycode_button_5\",{\"_index\":350,\"name\":{\"378\":{}},\"parent\":{}}],[\"keycode_button_6\",{\"_index\":351,\"name\":{\"379\":{}},\"parent\":{}}],[\"keycode_button_7\",{\"_index\":352,\"name\":{\"380\":{}},\"parent\":{}}],[\"keycode_button_8\",{\"_index\":353,\"name\":{\"381\":{}},\"parent\":{}}],[\"keycode_button_9\",{\"_index\":354,\"name\":{\"382\":{}},\"parent\":{}}],[\"keycode_button_a\",{\"_index\":254,\"name\":{\"282\":{}},\"parent\":{}}],[\"keycode_button_b\",{\"_index\":255,\"name\":{\"283\":{}},\"parent\":{}}],[\"keycode_button_c\",{\"_index\":256,\"name\":{\"284\":{}},\"parent\":{}}],[\"keycode_button_l1\",{\"_index\":260,\"name\":{\"288\":{}},\"parent\":{}}],[\"keycode_button_l2\",{\"_index\":262,\"name\":{\"290\":{}},\"parent\":{}}],[\"keycode_button_mode\",{\"_index\":268,\"name\":{\"296\":{}},\"parent\":{}}],[\"keycode_button_r1\",{\"_index\":261,\"name\":{\"289\":{}},\"parent\":{}}],[\"keycode_button_r2\",{\"_index\":263,\"name\":{\"291\":{}},\"parent\":{}}],[\"keycode_button_select\",{\"_index\":267,\"name\":{\"295\":{}},\"parent\":{}}],[\"keycode_button_start\",{\"_index\":266,\"name\":{\"294\":{}},\"parent\":{}}],[\"keycode_button_thumbl\",{\"_index\":264,\"name\":{\"292\":{}},\"parent\":{}}],[\"keycode_button_thumbr\",{\"_index\":265,\"name\":{\"293\":{}},\"parent\":{}}],[\"keycode_button_x\",{\"_index\":257,\"name\":{\"285\":{}},\"parent\":{}}],[\"keycode_button_y\",{\"_index\":258,\"name\":{\"286\":{}},\"parent\":{}}],[\"keycode_button_z\",{\"_index\":259,\"name\":{\"287\":{}},\"parent\":{}}],[\"keycode_c\",{\"_index\":189,\"name\":{\"217\":{}},\"parent\":{}}],[\"keycode_calculator\",{\"_index\":368,\"name\":{\"396\":{}},\"parent\":{}}],[\"keycode_calendar\",{\"_index\":366,\"name\":{\"394\":{}},\"parent\":{}}],[\"keycode_call\",{\"_index\":163,\"name\":{\"191\":{}},\"parent\":{}}],[\"keycode_camera\",{\"_index\":185,\"name\":{\"213\":{}},\"parent\":{}}],[\"keycode_caps_lock\",{\"_index\":273,\"name\":{\"301\":{}},\"parent\":{}}],[\"keycode_captions\",{\"_index\":333,\"name\":{\"361\":{}},\"parent\":{}}],[\"keycode_channel_down\",{\"_index\":325,\"name\":{\"353\":{}},\"parent\":{}}],[\"keycode_channel_up\",{\"_index\":324,\"name\":{\"352\":{}},\"parent\":{}}],[\"keycode_clear\",{\"_index\":186,\"name\":{\"214\":{}},\"parent\":{}}],[\"keycode_comma\",{\"_index\":213,\"name\":{\"241\":{}},\"parent\":{}}],[\"keycode_contacts\",{\"_index\":365,\"name\":{\"393\":{}},\"parent\":{}}],[\"keycode_copy\",{\"_index\":436,\"name\":{\"464\":{}},\"parent\":{}}],[\"keycode_ctrl_left\",{\"_index\":271,\"name\":{\"299\":{}},\"parent\":{}}],[\"keycode_ctrl_right\",{\"_index\":272,\"name\":{\"300\":{}},\"parent\":{}}],[\"keycode_cut\",{\"_index\":435,\"name\":{\"463\":{}},\"parent\":{}}],[\"keycode_d\",{\"_index\":190,\"name\":{\"218\":{}},\"parent\":{}}],[\"keycode_del\",{\"_index\":225,\"name\":{\"253\":{}},\"parent\":{}}],[\"keycode_dpad_center\",{\"_index\":181,\"name\":{\"209\":{}},\"parent\":{}}],[\"keycode_dpad_down\",{\"_index\":178,\"name\":{\"206\":{}},\"parent\":{}}],[\"keycode_dpad_down_left\",{\"_index\":427,\"name\":{\"455\":{}},\"parent\":{}}],[\"keycode_dpad_down_right\",{\"_index\":429,\"name\":{\"457\":{}},\"parent\":{}}],[\"keycode_dpad_left\",{\"_index\":179,\"name\":{\"207\":{}},\"parent\":{}}],[\"keycode_dpad_right\",{\"_index\":180,\"name\":{\"208\":{}},\"parent\":{}}],[\"keycode_dpad_up\",{\"_index\":177,\"name\":{\"205\":{}},\"parent\":{}}],[\"keycode_dpad_up_left\",{\"_index\":426,\"name\":{\"454\":{}},\"parent\":{}}],[\"keycode_dpad_up_right\",{\"_index\":428,\"name\":{\"456\":{}},\"parent\":{}}],[\"keycode_dvr\",{\"_index\":331,\"name\":{\"359\":{}},\"parent\":{}}],[\"keycode_e\",{\"_index\":191,\"name\":{\"219\":{}},\"parent\":{}}],[\"keycode_eisu\",{\"_index\":370,\"name\":{\"398\":{}},\"parent\":{}}],[\"keycode_endcall\",{\"_index\":164,\"name\":{\"192\":{}},\"parent\":{}}],[\"keycode_enter\",{\"_index\":224,\"name\":{\"252\":{}},\"parent\":{}}],[\"keycode_envelope\",{\"_index\":223,\"name\":{\"251\":{}},\"parent\":{}}],[\"keycode_equals\",{\"_index\":228,\"name\":{\"256\":{}},\"parent\":{}}],[\"keycode_escape\",{\"_index\":269,\"name\":{\"297\":{}},\"parent\":{}}],[\"keycode_explorer\",{\"_index\":222,\"name\":{\"250\":{}},\"parent\":{}}],[\"keycode_f\",{\"_index\":192,\"name\":{\"220\":{}},\"parent\":{}}],[\"keycode_f1\",{\"_index\":289,\"name\":{\"317\":{}},\"parent\":{}}],[\"keycode_f10\",{\"_index\":298,\"name\":{\"326\":{}},\"parent\":{}}],[\"keycode_f11\",{\"_index\":299,\"name\":{\"327\":{}},\"parent\":{}}],[\"keycode_f12\",{\"_index\":300,\"name\":{\"328\":{}},\"parent\":{}}],[\"keycode_f2\",{\"_index\":290,\"name\":{\"318\":{}},\"parent\":{}}],[\"keycode_f3\",{\"_index\":291,\"name\":{\"319\":{}},\"parent\":{}}],[\"keycode_f4\",{\"_index\":292,\"name\":{\"320\":{}},\"parent\":{}}],[\"keycode_f5\",{\"_index\":293,\"name\":{\"321\":{}},\"parent\":{}}],[\"keycode_f6\",{\"_index\":294,\"name\":{\"322\":{}},\"parent\":{}}],[\"keycode_f7\",{\"_index\":295,\"name\":{\"323\":{}},\"parent\":{}}],[\"keycode_f8\",{\"_index\":296,\"name\":{\"324\":{}},\"parent\":{}}],[\"keycode_f9\",{\"_index\":297,\"name\":{\"325\":{}},\"parent\":{}}],[\"keycode_focus\",{\"_index\":238,\"name\":{\"266\":{}},\"parent\":{}}],[\"keycode_forward\",{\"_index\":283,\"name\":{\"311\":{}},\"parent\":{}}],[\"keycode_forward_del\",{\"_index\":270,\"name\":{\"298\":{}},\"parent\":{}}],[\"keycode_function\",{\"_index\":277,\"name\":{\"305\":{}},\"parent\":{}}],[\"keycode_g\",{\"_index\":193,\"name\":{\"221\":{}},\"parent\":{}}],[\"keycode_grave\",{\"_index\":226,\"name\":{\"254\":{}},\"parent\":{}}],[\"keycode_guide\",{\"_index\":330,\"name\":{\"358\":{}},\"parent\":{}}],[\"keycode_h\",{\"_index\":194,\"name\":{\"222\":{}},\"parent\":{}}],[\"keycode_headsethook\",{\"_index\":237,\"name\":{\"265\":{}},\"parent\":{}}],[\"keycode_help\",{\"_index\":417,\"name\":{\"445\":{}},\"parent\":{}}],[\"keycode_henkan\",{\"_index\":372,\"name\":{\"400\":{}},\"parent\":{}}],[\"keycode_home\",{\"_index\":161,\"name\":{\"189\":{}},\"parent\":{}}],[\"keycode_i\",{\"_index\":195,\"name\":{\"223\":{}},\"parent\":{}}],[\"keycode_info\",{\"_index\":323,\"name\":{\"351\":{}},\"parent\":{}}],[\"keycode_insert\",{\"_index\":282,\"name\":{\"310\":{}},\"parent\":{}}],[\"keycode_j\",{\"_index\":196,\"name\":{\"224\":{}},\"parent\":{}}],[\"keycode_k\",{\"_index\":197,\"name\":{\"225\":{}},\"parent\":{}}],[\"keycode_kana\",{\"_index\":376,\"name\":{\"404\":{}},\"parent\":{}}],[\"keycode_katakana_hiragana\",{\"_index\":373,\"name\":{\"401\":{}},\"parent\":{}}],[\"keycode_l\",{\"_index\":198,\"name\":{\"226\":{}},\"parent\":{}}],[\"keycode_language_switch\",{\"_index\":362,\"name\":{\"390\":{}},\"parent\":{}}],[\"keycode_last_channel\",{\"_index\":387,\"name\":{\"415\":{}},\"parent\":{}}],[\"keycode_left_bracket\",{\"_index\":229,\"name\":{\"257\":{}},\"parent\":{}}],[\"keycode_m\",{\"_index\":199,\"name\":{\"227\":{}},\"parent\":{}}],[\"keycode_manner_mode\",{\"_index\":363,\"name\":{\"391\":{}},\"parent\":{}}],[\"keycode_media_audio_track\",{\"_index\":380,\"name\":{\"408\":{}},\"parent\":{}}],[\"keycode_media_close\",{\"_index\":286,\"name\":{\"314\":{}},\"parent\":{}}],[\"keycode_media_eject\",{\"_index\":287,\"name\":{\"315\":{}},\"parent\":{}}],[\"keycode_media_fast_forward\",{\"_index\":248,\"name\":{\"276\":{}},\"parent\":{}}],[\"keycode_media_next\",{\"_index\":245,\"name\":{\"273\":{}},\"parent\":{}}],[\"keycode_media_pause\",{\"_index\":285,\"name\":{\"313\":{}},\"parent\":{}}],[\"keycode_media_play\",{\"_index\":284,\"name\":{\"312\":{}},\"parent\":{}}],[\"keycode_media_play_pause\",{\"_index\":243,\"name\":{\"271\":{}},\"parent\":{}}],[\"keycode_media_previous\",{\"_index\":246,\"name\":{\"274\":{}},\"parent\":{}}],[\"keycode_media_record\",{\"_index\":288,\"name\":{\"316\":{}},\"parent\":{}}],[\"keycode_media_rewind\",{\"_index\":247,\"name\":{\"275\":{}},\"parent\":{}}],[\"keycode_media_skip_backward\",{\"_index\":431,\"name\":{\"459\":{}},\"parent\":{}}],[\"keycode_media_skip_forward\",{\"_index\":430,\"name\":{\"458\":{}},\"parent\":{}}],[\"keycode_media_step_backward\",{\"_index\":433,\"name\":{\"461\":{}},\"parent\":{}}],[\"keycode_media_step_forward\",{\"_index\":432,\"name\":{\"460\":{}},\"parent\":{}}],[\"keycode_media_stop\",{\"_index\":244,\"name\":{\"272\":{}},\"parent\":{}}],[\"keycode_media_top_menu\",{\"_index\":384,\"name\":{\"412\":{}},\"parent\":{}}],[\"keycode_menu\",{\"_index\":240,\"name\":{\"268\":{}},\"parent\":{}}],[\"keycode_meta_left\",{\"_index\":275,\"name\":{\"303\":{}},\"parent\":{}}],[\"keycode_meta_right\",{\"_index\":276,\"name\":{\"304\":{}},\"parent\":{}}],[\"keycode_minus\",{\"_index\":227,\"name\":{\"255\":{}},\"parent\":{}}],[\"keycode_move_end\",{\"_index\":281,\"name\":{\"309\":{}},\"parent\":{}}],[\"keycode_move_home\",{\"_index\":280,\"name\":{\"308\":{}},\"parent\":{}}],[\"keycode_muhenkan\",{\"_index\":371,\"name\":{\"399\":{}},\"parent\":{}}],[\"keycode_music\",{\"_index\":367,\"name\":{\"395\":{}},\"parent\":{}}],[\"keycode_mute\",{\"_index\":249,\"name\":{\"277\":{}},\"parent\":{}}],[\"keycode_n\",{\"_index\":200,\"name\":{\"228\":{}},\"parent\":{}}],[\"keycode_navigate_in\",{\"_index\":420,\"name\":{\"448\":{}},\"parent\":{}}],[\"keycode_navigate_next\",{\"_index\":419,\"name\":{\"447\":{}},\"parent\":{}}],[\"keycode_navigate_out\",{\"_index\":421,\"name\":{\"449\":{}},\"parent\":{}}],[\"keycode_navigate_previous\",{\"_index\":418,\"name\":{\"446\":{}},\"parent\":{}}],[\"keycode_notification\",{\"_index\":241,\"name\":{\"269\":{}},\"parent\":{}}],[\"keycode_num\",{\"_index\":236,\"name\":{\"264\":{}},\"parent\":{}}],[\"keycode_num_lock\",{\"_index\":301,\"name\":{\"329\":{}},\"parent\":{}}],[\"keycode_numpad_0\",{\"_index\":302,\"name\":{\"330\":{}},\"parent\":{}}],[\"keycode_numpad_1\",{\"_index\":303,\"name\":{\"331\":{}},\"parent\":{}}],[\"keycode_numpad_2\",{\"_index\":304,\"name\":{\"332\":{}},\"parent\":{}}],[\"keycode_numpad_3\",{\"_index\":305,\"name\":{\"333\":{}},\"parent\":{}}],[\"keycode_numpad_4\",{\"_index\":306,\"name\":{\"334\":{}},\"parent\":{}}],[\"keycode_numpad_5\",{\"_index\":307,\"name\":{\"335\":{}},\"parent\":{}}],[\"keycode_numpad_6\",{\"_index\":308,\"name\":{\"336\":{}},\"parent\":{}}],[\"keycode_numpad_7\",{\"_index\":309,\"name\":{\"337\":{}},\"parent\":{}}],[\"keycode_numpad_8\",{\"_index\":310,\"name\":{\"338\":{}},\"parent\":{}}],[\"keycode_numpad_9\",{\"_index\":311,\"name\":{\"339\":{}},\"parent\":{}}],[\"keycode_numpad_add\",{\"_index\":315,\"name\":{\"343\":{}},\"parent\":{}}],[\"keycode_numpad_comma\",{\"_index\":317,\"name\":{\"345\":{}},\"parent\":{}}],[\"keycode_numpad_divide\",{\"_index\":312,\"name\":{\"340\":{}},\"parent\":{}}],[\"keycode_numpad_dot\",{\"_index\":316,\"name\":{\"344\":{}},\"parent\":{}}],[\"keycode_numpad_enter\",{\"_index\":318,\"name\":{\"346\":{}},\"parent\":{}}],[\"keycode_numpad_equals\",{\"_index\":319,\"name\":{\"347\":{}},\"parent\":{}}],[\"keycode_numpad_left_paren\",{\"_index\":320,\"name\":{\"348\":{}},\"parent\":{}}],[\"keycode_numpad_multiply\",{\"_index\":313,\"name\":{\"341\":{}},\"parent\":{}}],[\"keycode_numpad_right_paren\",{\"_index\":321,\"name\":{\"349\":{}},\"parent\":{}}],[\"keycode_numpad_subtract\",{\"_index\":314,\"name\":{\"342\":{}},\"parent\":{}}],[\"keycode_o\",{\"_index\":201,\"name\":{\"229\":{}},\"parent\":{}}],[\"keycode_p\",{\"_index\":202,\"name\":{\"230\":{}},\"parent\":{}}],[\"keycode_page_down\",{\"_index\":251,\"name\":{\"279\":{}},\"parent\":{}}],[\"keycode_page_up\",{\"_index\":250,\"name\":{\"278\":{}},\"parent\":{}}],[\"keycode_pairing\",{\"_index\":383,\"name\":{\"411\":{}},\"parent\":{}}],[\"keycode_paste\",{\"_index\":437,\"name\":{\"465\":{}},\"parent\":{}}],[\"keycode_period\",{\"_index\":214,\"name\":{\"242\":{}},\"parent\":{}}],[\"keycode_pictsymbols\",{\"_index\":252,\"name\":{\"280\":{}},\"parent\":{}}],[\"keycode_plus\",{\"_index\":239,\"name\":{\"267\":{}},\"parent\":{}}],[\"keycode_pound\",{\"_index\":176,\"name\":{\"204\":{}},\"parent\":{}}],[\"keycode_power\",{\"_index\":184,\"name\":{\"212\":{}},\"parent\":{}}],[\"keycode_profile_switch\",{\"_index\":446,\"name\":{\"474\":{}},\"parent\":{}}],[\"keycode_prog_blue\",{\"_index\":344,\"name\":{\"372\":{}},\"parent\":{}}],[\"keycode_prog_green\",{\"_index\":342,\"name\":{\"370\":{}},\"parent\":{}}],[\"keycode_prog_red\",{\"_index\":341,\"name\":{\"369\":{}},\"parent\":{}}],[\"keycode_prog_yellow\",{\"_index\":343,\"name\":{\"371\":{}},\"parent\":{}}],[\"keycode_q\",{\"_index\":203,\"name\":{\"231\":{}},\"parent\":{}}],[\"keycode_r\",{\"_index\":204,\"name\":{\"232\":{}},\"parent\":{}}],[\"keycode_refresh\",{\"_index\":443,\"name\":{\"471\":{}},\"parent\":{}}],[\"keycode_right_bracket\",{\"_index\":230,\"name\":{\"258\":{}},\"parent\":{}}],[\"keycode_ro\",{\"_index\":375,\"name\":{\"403\":{}},\"parent\":{}}],[\"keycode_s\",{\"_index\":205,\"name\":{\"233\":{}},\"parent\":{}}],[\"keycode_scroll_lock\",{\"_index\":274,\"name\":{\"302\":{}},\"parent\":{}}],[\"keycode_search\",{\"_index\":242,\"name\":{\"270\":{}},\"parent\":{}}],[\"keycode_semicolon\",{\"_index\":232,\"name\":{\"260\":{}},\"parent\":{}}],[\"keycode_settings\",{\"_index\":334,\"name\":{\"362\":{}},\"parent\":{}}],[\"keycode_shift_left\",{\"_index\":217,\"name\":{\"245\":{}},\"parent\":{}}],[\"keycode_shift_right\",{\"_index\":218,\"name\":{\"246\":{}},\"parent\":{}}],[\"keycode_slash\",{\"_index\":234,\"name\":{\"262\":{}},\"parent\":{}}],[\"keycode_sleep\",{\"_index\":381,\"name\":{\"409\":{}},\"parent\":{}}],[\"keycode_soft_left\",{\"_index\":159,\"name\":{\"187\":{}},\"parent\":{}}],[\"keycode_soft_right\",{\"_index\":160,\"name\":{\"188\":{}},\"parent\":{}}],[\"keycode_soft_sleep\",{\"_index\":434,\"name\":{\"462\":{}},\"parent\":{}}],[\"keycode_space\",{\"_index\":220,\"name\":{\"248\":{}},\"parent\":{}}],[\"keycode_star\",{\"_index\":175,\"name\":{\"203\":{}},\"parent\":{}}],[\"keycode_stb_input\",{\"_index\":338,\"name\":{\"366\":{}},\"parent\":{}}],[\"keycode_stb_power\",{\"_index\":337,\"name\":{\"365\":{}},\"parent\":{}}],[\"keycode_stem_1\",{\"_index\":423,\"name\":{\"451\":{}},\"parent\":{}}],[\"keycode_stem_2\",{\"_index\":424,\"name\":{\"452\":{}},\"parent\":{}}],[\"keycode_stem_3\",{\"_index\":425,\"name\":{\"453\":{}},\"parent\":{}}],[\"keycode_stem_primary\",{\"_index\":422,\"name\":{\"450\":{}},\"parent\":{}}],[\"keycode_switch_charset\",{\"_index\":253,\"name\":{\"281\":{}},\"parent\":{}}],[\"keycode_sym\",{\"_index\":221,\"name\":{\"249\":{}},\"parent\":{}}],[\"keycode_sysrq\",{\"_index\":278,\"name\":{\"306\":{}},\"parent\":{}}],[\"keycode_system_navigation_down\",{\"_index\":439,\"name\":{\"467\":{}},\"parent\":{}}],[\"keycode_system_navigation_left\",{\"_index\":440,\"name\":{\"468\":{}},\"parent\":{}}],[\"keycode_system_navigation_right\",{\"_index\":441,\"name\":{\"469\":{}},\"parent\":{}}],[\"keycode_system_navigation_up\",{\"_index\":438,\"name\":{\"466\":{}},\"parent\":{}}],[\"keycode_t\",{\"_index\":206,\"name\":{\"234\":{}},\"parent\":{}}],[\"keycode_tab\",{\"_index\":219,\"name\":{\"247\":{}},\"parent\":{}}],[\"keycode_thumbs_down\",{\"_index\":445,\"name\":{\"473\":{}},\"parent\":{}}],[\"keycode_thumbs_up\",{\"_index\":444,\"name\":{\"472\":{}},\"parent\":{}}],[\"keycode_tv\",{\"_index\":328,\"name\":{\"356\":{}},\"parent\":{}}],[\"keycode_tv_antenna_cable\",{\"_index\":400,\"name\":{\"428\":{}},\"parent\":{}}],[\"keycode_tv_audio_description\",{\"_index\":410,\"name\":{\"438\":{}},\"parent\":{}}],[\"keycode_tv_audio_description_mix_down\",{\"_index\":412,\"name\":{\"440\":{}},\"parent\":{}}],[\"keycode_tv_audio_description_mix_up\",{\"_index\":411,\"name\":{\"439\":{}},\"parent\":{}}],[\"keycode_tv_contents_menu\",{\"_index\":414,\"name\":{\"442\":{}},\"parent\":{}}],[\"keycode_tv_data_service\",{\"_index\":388,\"name\":{\"416\":{}},\"parent\":{}}],[\"keycode_tv_input\",{\"_index\":336,\"name\":{\"364\":{}},\"parent\":{}}],[\"keycode_tv_input_component_1\",{\"_index\":407,\"name\":{\"435\":{}},\"parent\":{}}],[\"keycode_tv_input_component_2\",{\"_index\":408,\"name\":{\"436\":{}},\"parent\":{}}],[\"keycode_tv_input_composite_1\",{\"_index\":405,\"name\":{\"433\":{}},\"parent\":{}}],[\"keycode_tv_input_composite_2\",{\"_index\":406,\"name\":{\"434\":{}},\"parent\":{}}],[\"keycode_tv_input_hdmi_1\",{\"_index\":401,\"name\":{\"429\":{}},\"parent\":{}}],[\"keycode_tv_input_hdmi_2\",{\"_index\":402,\"name\":{\"430\":{}},\"parent\":{}}],[\"keycode_tv_input_hdmi_3\",{\"_index\":403,\"name\":{\"431\":{}},\"parent\":{}}],[\"keycode_tv_input_hdmi_4\",{\"_index\":404,\"name\":{\"432\":{}},\"parent\":{}}],[\"keycode_tv_input_vga_1\",{\"_index\":409,\"name\":{\"437\":{}},\"parent\":{}}],[\"keycode_tv_media_context_menu\",{\"_index\":415,\"name\":{\"443\":{}},\"parent\":{}}],[\"keycode_tv_network\",{\"_index\":399,\"name\":{\"427\":{}},\"parent\":{}}],[\"keycode_tv_number_entry\",{\"_index\":392,\"name\":{\"420\":{}},\"parent\":{}}],[\"keycode_tv_power\",{\"_index\":335,\"name\":{\"363\":{}},\"parent\":{}}],[\"keycode_tv_radio_service\",{\"_index\":390,\"name\":{\"418\":{}},\"parent\":{}}],[\"keycode_tv_satellite\",{\"_index\":395,\"name\":{\"423\":{}},\"parent\":{}}],[\"keycode_tv_satellite_bs\",{\"_index\":396,\"name\":{\"424\":{}},\"parent\":{}}],[\"keycode_tv_satellite_cs\",{\"_index\":397,\"name\":{\"425\":{}},\"parent\":{}}],[\"keycode_tv_satellite_service\",{\"_index\":398,\"name\":{\"426\":{}},\"parent\":{}}],[\"keycode_tv_teletext\",{\"_index\":391,\"name\":{\"419\":{}},\"parent\":{}}],[\"keycode_tv_terrestrial_analog\",{\"_index\":393,\"name\":{\"421\":{}},\"parent\":{}}],[\"keycode_tv_terrestrial_digital\",{\"_index\":394,\"name\":{\"422\":{}},\"parent\":{}}],[\"keycode_tv_timer_programming\",{\"_index\":416,\"name\":{\"444\":{}},\"parent\":{}}],[\"keycode_tv_zoom_mode\",{\"_index\":413,\"name\":{\"441\":{}},\"parent\":{}}],[\"keycode_u\",{\"_index\":207,\"name\":{\"235\":{}},\"parent\":{}}],[\"keycode_unknown\",{\"_index\":158,\"name\":{\"186\":{}},\"parent\":{}}],[\"keycode_v\",{\"_index\":208,\"name\":{\"236\":{}},\"parent\":{}}],[\"keycode_voice_assist\",{\"_index\":389,\"name\":{\"417\":{}},\"parent\":{}}],[\"keycode_volume_down\",{\"_index\":183,\"name\":{\"211\":{}},\"parent\":{}}],[\"keycode_volume_mute\",{\"_index\":322,\"name\":{\"350\":{}},\"parent\":{}}],[\"keycode_volume_up\",{\"_index\":182,\"name\":{\"210\":{}},\"parent\":{}}],[\"keycode_w\",{\"_index\":209,\"name\":{\"237\":{}},\"parent\":{}}],[\"keycode_wakeup\",{\"_index\":382,\"name\":{\"410\":{}},\"parent\":{}}],[\"keycode_window\",{\"_index\":329,\"name\":{\"357\":{}},\"parent\":{}}],[\"keycode_x\",{\"_index\":210,\"name\":{\"238\":{}},\"parent\":{}}],[\"keycode_y\",{\"_index\":211,\"name\":{\"239\":{}},\"parent\":{}}],[\"keycode_yen\",{\"_index\":374,\"name\":{\"402\":{}},\"parent\":{}}],[\"keycode_z\",{\"_index\":212,\"name\":{\"240\":{}},\"parent\":{}}],[\"keycode_zenkaku_hankaku\",{\"_index\":369,\"name\":{\"397\":{}},\"parent\":{}}],[\"keycode_zoom_in\",{\"_index\":326,\"name\":{\"354\":{}},\"parent\":{}}],[\"keycode_zoom_out\",{\"_index\":327,\"name\":{\"355\":{}},\"parent\":{}}],[\"keycodes\",{\"_index\":157,\"name\":{\"185\":{}},\"parent\":{\"186\":{},\"187\":{},\"188\":{},\"189\":{},\"190\":{},\"191\":{},\"192\":{},\"193\":{},\"194\":{},\"195\":{},\"196\":{},\"197\":{},\"198\":{},\"199\":{},\"200\":{},\"201\":{},\"202\":{},\"203\":{},\"204\":{},\"205\":{},\"206\":{},\"207\":{},\"208\":{},\"209\":{},\"210\":{},\"211\":{},\"212\":{},\"213\":{},\"214\":{},\"215\":{},\"216\":{},\"217\":{},\"218\":{},\"219\":{},\"220\":{},\"221\":{},\"222\":{},\"223\":{},\"224\":{},\"225\":{},\"226\":{},\"227\":{},\"228\":{},\"229\":{},\"230\":{},\"231\":{},\"232\":{},\"233\":{},\"234\":{},\"235\":{},\"236\":{},\"237\":{},\"238\":{},\"239\":{},\"240\":{},\"241\":{},\"242\":{},\"243\":{},\"244\":{},\"245\":{},\"246\":{},\"247\":{},\"248\":{},\"249\":{},\"250\":{},\"251\":{},\"252\":{},\"253\":{},\"254\":{},\"255\":{},\"256\":{},\"257\":{},\"258\":{},\"259\":{},\"260\":{},\"261\":{},\"262\":{},\"263\":{},\"264\":{},\"265\":{},\"266\":{},\"267\":{},\"268\":{},\"269\":{},\"270\":{},\"271\":{},\"272\":{},\"273\":{},\"274\":{},\"275\":{},\"276\":{},\"277\":{},\"278\":{},\"279\":{},\"280\":{},\"281\":{},\"282\":{},\"283\":{},\"284\":{},\"285\":{},\"286\":{},\"287\":{},\"288\":{},\"289\":{},\"290\":{},\"291\":{},\"292\":{},\"293\":{},\"294\":{},\"295\":{},\"296\":{},\"297\":{},\"298\":{},\"299\":{},\"300\":{},\"301\":{},\"302\":{},\"303\":{},\"304\":{},\"305\":{},\"306\":{},\"307\":{},\"308\":{},\"309\":{},\"310\":{},\"311\":{},\"312\":{},\"313\":{},\"314\":{},\"315\":{},\"316\":{},\"317\":{},\"318\":{},\"319\":{},\"320\":{},\"321\":{},\"322\":{},\"323\":{},\"324\":{},\"325\":{},\"326\":{},\"327\":{},\"328\":{},\"329\":{},\"330\":{},\"331\":{},\"332\":{},\"333\":{},\"334\":{},\"335\":{},\"336\":{},\"337\":{},\"338\":{},\"339\":{},\"340\":{},\"341\":{},\"342\":{},\"343\":{},\"344\":{},\"345\":{},\"346\":{},\"347\":{},\"348\":{},\"349\":{},\"350\":{},\"351\":{},\"352\":{},\"353\":{},\"354\":{},\"355\":{},\"356\":{},\"357\":{},\"358\":{},\"359\":{},\"360\":{},\"361\":{},\"362\":{},\"363\":{},\"364\":{},\"365\":{},\"366\":{},\"367\":{},\"368\":{},\"369\":{},\"370\":{},\"371\":{},\"372\":{},\"373\":{},\"374\":{},\"375\":{},\"376\":{},\"377\":{},\"378\":{},\"379\":{},\"380\":{},\"381\":{},\"382\":{},\"383\":{},\"384\":{},\"385\":{},\"386\":{},\"387\":{},\"388\":{},\"389\":{},\"390\":{},\"391\":{},\"392\":{},\"393\":{},\"394\":{},\"395\":{},\"396\":{},\"397\":{},\"398\":{},\"399\":{},\"400\":{},\"401\":{},\"402\":{},\"403\":{},\"404\":{},\"405\":{},\"406\":{},\"407\":{},\"408\":{},\"409\":{},\"410\":{},\"411\":{},\"412\":{},\"413\":{},\"414\":{},\"415\":{},\"416\":{},\"417\":{},\"418\":{},\"419\":{},\"420\":{},\"421\":{},\"422\":{},\"423\":{},\"424\":{},\"425\":{},\"426\":{},\"427\":{},\"428\":{},\"429\":{},\"430\":{},\"431\":{},\"432\":{},\"433\":{},\"434\":{},\"435\":{},\"436\":{},\"437\":{},\"438\":{},\"439\":{},\"440\":{},\"441\":{},\"442\":{},\"443\":{},\"444\":{},\"445\":{},\"446\":{},\"447\":{},\"448\":{},\"449\":{},\"450\":{},\"451\":{},\"452\":{},\"453\":{},\"454\":{},\"455\":{},\"456\":{},\"457\":{},\"458\":{},\"459\":{},\"460\":{},\"461\":{},\"462\":{},\"463\":{},\"464\":{},\"465\":{},\"466\":{},\"467\":{},\"468\":{},\"469\":{},\"470\":{},\"471\":{},\"472\":{},\"473\":{},\"474\":{}}}],[\"kill\",{\"_index\":109,\"name\":{\"128\":{}},\"parent\":{}}],[\"listdevices\",{\"_index\":106,\"name\":{\"125\":{}},\"parent\":{}}],[\"listdeviceswithpaths\",{\"_index\":107,\"name\":{\"126\":{}},\"parent\":{}}],[\"listforwards\",{\"_index\":119,\"name\":{\"142\":{}},\"parent\":{}}],[\"listreverses\",{\"_index\":120,\"name\":{\"144\":{}},\"parent\":{}}],[\"loads\",{\"_index\":38,\"name\":{\"39\":{}},\"parent\":{}}],[\"local\",{\"_index\":53,\"name\":{\"57\":{},\"79\":{}},\"parent\":{}}],[\"meta\",{\"_index\":71,\"name\":{\"75\":{}},\"parent\":{}}],[\"mimetype\",{\"_index\":81,\"name\":{\"88\":{},\"97\":{}},\"parent\":{}}],[\"model\",{\"_index\":45,\"name\":{\"46\":{}},\"parent\":{}}],[\"nice\",{\"_index\":28,\"name\":{\"29\":{}},\"parent\":{}}],[\"openlocal\",{\"_index\":129,\"name\":{\"154\":{}},\"parent\":{}}],[\"openlog\",{\"_index\":130,\"name\":{\"155\":{}},\"parent\":{}}],[\"openlogcat\",{\"_index\":133,\"name\":{\"158\":{}},\"parent\":{}}],[\"openmonkey\",{\"_index\":132,\"name\":{\"157\":{}},\"parent\":{}}],[\"openprocstat\",{\"_index\":134,\"name\":{\"159\":{}},\"parent\":{}}],[\"opentcp\",{\"_index\":131,\"name\":{\"156\":{}},\"parent\":{}}],[\"options\",{\"_index\":99,\"name\":{\"116\":{}},\"parent\":{}}],[\"parser\",{\"_index\":4,\"name\":{\"4\":{},\"179\":{}},\"parent\":{\"5\":{},\"6\":{},\"7\":{},\"8\":{},\"9\":{},\"10\":{},\"11\":{},\"12\":{},\"13\":{},\"14\":{},\"15\":{},\"16\":{},\"17\":{},\"18\":{},\"19\":{},\"20\":{},\"21\":{},\"22\":{}}}],[\"path\",{\"_index\":43,\"name\":{\"44\":{}},\"parent\":{}}],[\"port\",{\"_index\":101,\"name\":{\"118\":{}},\"parent\":{}}],[\"prematureeoferror\",{\"_index\":6,\"name\":{\"6\":{}},\"parent\":{}}],[\"product\",{\"_index\":44,\"name\":{\"45\":{}},\"parent\":{}}],[\"properties\",{\"_index\":72,\"name\":{\"76\":{}},\"parent\":{}}],[\"protocol\",{\"_index\":153,\"name\":{\"180\":{}},\"parent\":{}}],[\"pull\",{\"_index\":145,\"name\":{\"170\":{}},\"parent\":{}}],[\"push\",{\"_index\":146,\"name\":{\"171\":{}},\"parent\":{}}],[\"raw\",{\"_index\":11,\"name\":{\"12\":{}},\"parent\":{}}],[\"readall\",{\"_index\":12,\"name\":{\"13\":{}},\"parent\":{}}],[\"readascii\",{\"_index\":13,\"name\":{\"14\":{}},\"parent\":{}}],[\"readbyteflow\",{\"_index\":15,\"name\":{\"16\":{}},\"parent\":{}}],[\"readbytes\",{\"_index\":14,\"name\":{\"15\":{}},\"parent\":{}}],[\"readdir\",{\"_index\":144,\"name\":{\"169\":{}},\"parent\":{}}],[\"readerror\",{\"_index\":16,\"name\":{\"17\":{}},\"parent\":{}}],[\"readline\",{\"_index\":20,\"name\":{\"21\":{}},\"parent\":{}}],[\"readuntil\",{\"_index\":18,\"name\":{\"19\":{}},\"parent\":{}}],[\"readvalue\",{\"_index\":17,\"name\":{\"18\":{}},\"parent\":{}}],[\"reboot\",{\"_index\":123,\"name\":{\"148\":{}},\"parent\":{}}],[\"red_length\",{\"_index\":63,\"name\":{\"67\":{}},\"parent\":{}}],[\"red_offset\",{\"_index\":62,\"name\":{\"66\":{}},\"parent\":{}}],[\"remote\",{\"_index\":54,\"name\":{\"58\":{},\"78\":{}},\"parent\":{}}],[\"remount\",{\"_index\":124,\"name\":{\"149\":{}},\"parent\":{}}],[\"removed\",{\"_index\":93,\"name\":{\"109\":{}},\"parent\":{}}],[\"reverse\",{\"_index\":73,\"name\":{\"77\":{},\"143\":{}},\"parent\":{\"78\":{},\"79\":{}}}],[\"root\",{\"_index\":125,\"name\":{\"150\":{}},\"parent\":{}}],[\"screencap\",{\"_index\":128,\"name\":{\"153\":{}},\"parent\":{}}],[\"searchline\",{\"_index\":19,\"name\":{\"20\":{}},\"parent\":{}}],[\"serial\",{\"_index\":52,\"name\":{\"56\":{},\"133\":{}},\"parent\":{}}],[\"shell\",{\"_index\":122,\"name\":{\"147\":{}},\"parent\":{}}],[\"shellcommand\",{\"_index\":151,\"name\":{\"176\":{}},\"parent\":{\"177\":{},\"178\":{},\"179\":{},\"180\":{},\"181\":{},\"182\":{},\"183\":{},\"184\":{}}}],[\"size\",{\"_index\":61,\"name\":{\"65\":{}},\"parent\":{}}],[\"socketoptions\",{\"_index\":74,\"name\":{\"80\":{}},\"parent\":{\"81\":{}}}],[\"softirq\",{\"_index\":33,\"name\":{\"34\":{}},\"parent\":{}}],[\"startactivity\",{\"_index\":140,\"name\":{\"165\":{}},\"parent\":{}}],[\"startactivityoptions\",{\"_index\":76,\"name\":{\"82\":{}},\"parent\":{\"83\":{},\"84\":{},\"85\":{},\"86\":{},\"87\":{},\"88\":{},\"89\":{},\"90\":{},\"91\":{},\"92\":{}}}],[\"startservice\",{\"_index\":141,\"name\":{\"166\":{}},\"parent\":{}}],[\"startserviceoptions\",{\"_index\":86,\"name\":{\"93\":{}},\"parent\":{\"94\":{},\"95\":{},\"96\":{},\"97\":{},\"98\":{},\"99\":{},\"100\":{},\"101\":{}}}],[\"stat\",{\"_index\":143,\"name\":{\"168\":{}},\"parent\":{}}],[\"steal\",{\"_index\":34,\"name\":{\"35\":{}},\"parent\":{}}],[\"stream\",{\"_index\":9,\"name\":{\"10\":{}},\"parent\":{}}],[\"syncservice\",{\"_index\":142,\"name\":{\"167\":{}},\"parent\":{}}],[\"system\",{\"_index\":29,\"name\":{\"30\":{}},\"parent\":{}}],[\"tcpip\",{\"_index\":147,\"name\":{\"172\":{}},\"parent\":{}}],[\"tostring\",{\"_index\":97,\"name\":{\"113\":{}},\"parent\":{}}],[\"total\",{\"_index\":37,\"name\":{\"38\":{}},\"parent\":{}}],[\"trackdevices\",{\"_index\":108,\"name\":{\"127\":{}},\"parent\":{}}],[\"trackerchangeset\",{\"_index\":92,\"name\":{\"108\":{}},\"parent\":{\"109\":{},\"110\":{},\"111\":{}}}],[\"trackjdwp\",{\"_index\":126,\"name\":{\"151\":{}},\"parent\":{}}],[\"transport\",{\"_index\":121,\"name\":{\"146\":{}},\"parent\":{}}],[\"transportid\",{\"_index\":46,\"name\":{\"48\":{}},\"parent\":{}}],[\"type\",{\"_index\":41,\"name\":{\"42\":{},\"50\":{},\"106\":{}},\"parent\":{}}],[\"unexpected\",{\"_index\":21,\"name\":{\"22\":{}},\"parent\":{}}],[\"unexpecteddataerror\",{\"_index\":7,\"name\":{\"7\":{}},\"parent\":{}}],[\"uninstall\",{\"_index\":138,\"name\":{\"163\":{}},\"parent\":{}}],[\"usb\",{\"_index\":148,\"name\":{\"173\":{}},\"parent\":{}}],[\"user\",{\"_index\":27,\"name\":{\"28\":{},\"85\":{},\"94\":{}},\"parent\":{}}],[\"util\",{\"_index\":1,\"name\":{\"1\":{}},\"parent\":{}}],[\"value\",{\"_index\":91,\"name\":{\"107\":{}},\"parent\":{}}],[\"version\",{\"_index\":56,\"name\":{\"60\":{},\"122\":{}},\"parent\":{}}],[\"wait\",{\"_index\":78,\"name\":{\"84\":{}},\"parent\":{}}],[\"waitbootcomplete\",{\"_index\":149,\"name\":{\"174\":{}},\"parent\":{}}],[\"waitfordevice\",{\"_index\":150,\"name\":{\"175\":{}},\"parent\":{}}],[\"width\",{\"_index\":58,\"name\":{\"62\":{}},\"parent\":{}}],[\"withtostring\",{\"_index\":96,\"name\":{\"112\":{}},\"parent\":{\"113\":{}}}]],\"pipeline\":[]}}"); \ No newline at end of file diff --git a/docs/assets/style.css b/docs/assets/style.css new file mode 100644 index 00000000..6127b27c --- /dev/null +++ b/docs/assets/style.css @@ -0,0 +1,1414 @@ +@import url("./icons.css"); + +:root { + /* Light */ + --light-color-background: #fcfcfc; + --light-color-secondary-background: #fff; + --light-color-text: #222; + --light-color-text-aside: #707070; + --light-color-link: #4da6ff; + --light-color-menu-divider: #eee; + --light-color-menu-divider-focus: #000; + --light-color-menu-label: #707070; + --light-color-panel: var(--light-color-secondary-background); + --light-color-panel-divider: #eee; + --light-color-comment-tag: #707070; + --light-color-comment-tag-text: #fff; + --light-color-ts: #9600ff; + --light-color-ts-interface: #647f1b; + --light-color-ts-enum: #937210; + --light-color-ts-class: #0672de; + --light-color-ts-private: #707070; + --light-color-toolbar: #fff; + --light-color-toolbar-text: #333; + --light-icon-filter: invert(0); + --light-external-icon: url("data:image/svg+xml;utf8,"); + + /* Dark */ + --dark-color-background: #36393f; + --dark-color-secondary-background: #2f3136; + --dark-color-text: #ffffff; + --dark-color-text-aside: #e6e4e4; + --dark-color-link: #00aff4; + --dark-color-menu-divider: #eee; + --dark-color-menu-divider-focus: #000; + --dark-color-menu-label: #707070; + --dark-color-panel: var(--dark-color-secondary-background); + --dark-color-panel-divider: #818181; + --dark-color-comment-tag: #dcddde; + --dark-color-comment-tag-text: #2f3136; + --dark-color-ts: #c97dff; + --dark-color-ts-interface: #9cbe3c; + --dark-color-ts-enum: #d6ab29; + --dark-color-ts-class: #3695f3; + --dark-color-ts-private: #e2e2e2; + --dark-color-toolbar: #34373c; + --dark-color-toolbar-text: #ffffff; + --dark-icon-filter: invert(1); + --dark-external-icon: url("data:image/svg+xml;utf8,"); +} + +@media (prefers-color-scheme: light) { + :root { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); + } +} + +@media (prefers-color-scheme: dark) { + :root { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); + } +} + +body { + margin: 0; +} + +body.light { + --color-background: var(--light-color-background); + --color-secondary-background: var(--light-color-secondary-background); + --color-text: var(--light-color-text); + --color-text-aside: var(--light-color-text-aside); + --color-link: var(--light-color-link); + --color-menu-divider: var(--light-color-menu-divider); + --color-menu-divider-focus: var(--light-color-menu-divider-focus); + --color-menu-label: var(--light-color-menu-label); + --color-panel: var(--light-color-panel); + --color-panel-divider: var(--light-color-panel-divider); + --color-comment-tag: var(--light-color-comment-tag); + --color-comment-tag-text: var(--light-color-comment-tag-text); + --color-ts: var(--light-color-ts); + --color-ts-interface: var(--light-color-ts-interface); + --color-ts-enum: var(--light-color-ts-enum); + --color-ts-class: var(--light-color-ts-class); + --color-ts-private: var(--light-color-ts-private); + --color-toolbar: var(--light-color-toolbar); + --color-toolbar-text: var(--light-color-toolbar-text); + --icon-filter: var(--light-icon-filter); + --external-icon: var(--light-external-icon); +} + +body.dark { + --color-background: var(--dark-color-background); + --color-secondary-background: var(--dark-color-secondary-background); + --color-text: var(--dark-color-text); + --color-text-aside: var(--dark-color-text-aside); + --color-link: var(--dark-color-link); + --color-menu-divider: var(--dark-color-menu-divider); + --color-menu-divider-focus: var(--dark-color-menu-divider-focus); + --color-menu-label: var(--dark-color-menu-label); + --color-panel: var(--dark-color-panel); + --color-panel-divider: var(--dark-color-panel-divider); + --color-comment-tag: var(--dark-color-comment-tag); + --color-comment-tag-text: var(--dark-color-comment-tag-text); + --color-ts: var(--dark-color-ts); + --color-ts-interface: var(--dark-color-ts-interface); + --color-ts-enum: var(--dark-color-ts-enum); + --color-ts-class: var(--dark-color-ts-class); + --color-ts-private: var(--dark-color-ts-private); + --color-toolbar: var(--dark-color-toolbar); + --color-toolbar-text: var(--dark-color-toolbar-text); + --icon-filter: var(--dark-icon-filter); + --external-icon: var(--dark-external-icon); +} + +h1, +h2, +h3, +h4, +h5, +h6 { + line-height: 1.2; +} + +h1 { + font-size: 2em; + margin: 0.67em 0; +} + +h2 { + font-size: 1.5em; + margin: 0.83em 0; +} + +h3 { + font-size: 1.17em; + margin: 1em 0; +} + +h4, +.tsd-index-panel h3 { + font-size: 1em; + margin: 1.33em 0; +} + +h5 { + font-size: 0.83em; + margin: 1.67em 0; +} + +h6 { + font-size: 0.67em; + margin: 2.33em 0; +} + +pre { + white-space: pre; + white-space: pre-wrap; + word-wrap: break-word; +} + +dl, +menu, +ol, +ul { + margin: 1em 0; +} + +dd { + margin: 0 0 0 40px; +} + +.container { + max-width: 1200px; + margin: 0 auto; + padding: 0 40px; +} +@media (max-width: 640px) { + .container { + padding: 0 20px; + } +} + +.container-main { + padding-bottom: 200px; +} + +.row { + display: flex; + position: relative; + margin: 0 -10px; +} +.row:after { + visibility: hidden; + display: block; + content: ""; + clear: both; + height: 0; +} + +.col-4, +.col-8 { + box-sizing: border-box; + float: left; + padding: 0 10px; +} + +.col-4 { + width: 33.3333333333%; +} +.col-8 { + width: 66.6666666667%; +} + +ul.tsd-descriptions > li > :first-child, +.tsd-panel > :first-child, +.col-8 > :first-child, +.col-4 > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child, +.tsd-panel > :first-child > :first-child, +.col-8 > :first-child > :first-child, +.col-4 > :first-child > :first-child, +ul.tsd-descriptions > li > :first-child > :first-child > :first-child, +.tsd-panel > :first-child > :first-child > :first-child, +.col-8 > :first-child > :first-child > :first-child, +.col-4 > :first-child > :first-child > :first-child { + margin-top: 0; +} +ul.tsd-descriptions > li > :last-child, +.tsd-panel > :last-child, +.col-8 > :last-child, +.col-4 > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child, +.tsd-panel > :last-child > :last-child, +.col-8 > :last-child > :last-child, +.col-4 > :last-child > :last-child, +ul.tsd-descriptions > li > :last-child > :last-child > :last-child, +.tsd-panel > :last-child > :last-child > :last-child, +.col-8 > :last-child > :last-child > :last-child, +.col-4 > :last-child > :last-child > :last-child { + margin-bottom: 0; +} + +@keyframes fade-in { + from { + opacity: 0; + } + to { + opacity: 1; + } +} +@keyframes fade-out { + from { + opacity: 1; + visibility: visible; + } + to { + opacity: 0; + } +} +@keyframes fade-in-delayed { + 0% { + opacity: 0; + } + 33% { + opacity: 0; + } + 100% { + opacity: 1; + } +} +@keyframes fade-out-delayed { + 0% { + opacity: 1; + visibility: visible; + } + 66% { + opacity: 0; + } + 100% { + opacity: 0; + } +} +@keyframes shift-to-left { + from { + transform: translate(0, 0); + } + to { + transform: translate(-25%, 0); + } +} +@keyframes unshift-to-left { + from { + transform: translate(-25%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-in-from-right { + from { + transform: translate(100%, 0); + } + to { + transform: translate(0, 0); + } +} +@keyframes pop-out-to-right { + from { + transform: translate(0, 0); + visibility: visible; + } + to { + transform: translate(100%, 0); + } +} +body { + background: var(--color-background); + font-family: "Segoe UI", sans-serif; + font-size: 16px; + color: var(--color-text); +} + +a { + color: var(--color-link); + text-decoration: none; +} +a:hover { + text-decoration: underline; +} +a.external[target="_blank"] { + background-image: var(--external-icon); + background-position: top 3px right; + background-repeat: no-repeat; + padding-right: 13px; +} + +code, +pre { + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + padding: 0.2em; + margin: 0; + font-size: 14px; +} + +pre { + padding: 10px; +} +pre code { + padding: 0; + font-size: 100%; +} + +blockquote { + margin: 1em 0; + padding-left: 1em; + border-left: 4px solid gray; +} + +.tsd-typography { + line-height: 1.333em; +} +.tsd-typography ul { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-typography h4, +.tsd-typography .tsd-index-panel h3, +.tsd-index-panel .tsd-typography h3, +.tsd-typography h5, +.tsd-typography h6 { + font-size: 1em; + margin: 0; +} +.tsd-typography h5, +.tsd-typography h6 { + font-weight: normal; +} +.tsd-typography p, +.tsd-typography ul, +.tsd-typography ol { + margin: 1em 0; +} + +@media (min-width: 901px) and (max-width: 1024px) { + html .col-content { + width: 72%; + } + html .col-menu { + width: 28%; + } + html .tsd-navigation { + padding-left: 10px; + } +} +@media (max-width: 900px) { + html .col-content { + float: none; + width: 100%; + } + html .col-menu { + position: fixed !important; + overflow: auto; + -webkit-overflow-scrolling: touch; + z-index: 1024; + top: 0 !important; + bottom: 0 !important; + left: auto !important; + right: 0 !important; + width: 100%; + padding: 20px 20px 0 0; + max-width: 450px; + visibility: hidden; + background-color: var(--color-panel); + transform: translate(100%, 0); + } + html .col-menu > *:last-child { + padding-bottom: 20px; + } + html .overlay { + content: ""; + display: block; + position: fixed; + z-index: 1023; + top: 0; + left: 0; + right: 0; + bottom: 0; + background-color: rgba(0, 0, 0, 0.75); + visibility: hidden; + } + + .to-has-menu .overlay { + animation: fade-in 0.4s; + } + + .to-has-menu :is(header, footer, .col-content) { + animation: shift-to-left 0.4s; + } + + .to-has-menu .col-menu { + animation: pop-in-from-right 0.4s; + } + + .from-has-menu .overlay { + animation: fade-out 0.4s; + } + + .from-has-menu :is(header, footer, .col-content) { + animation: unshift-to-left 0.4s; + } + + .from-has-menu .col-menu { + animation: pop-out-to-right 0.4s; + } + + .has-menu body { + overflow: hidden; + } + .has-menu .overlay { + visibility: visible; + } + .has-menu :is(header, footer, .col-content) { + transform: translate(-25%, 0); + } + .has-menu .col-menu { + visibility: visible; + transform: translate(0, 0); + display: grid; + grid-template-rows: auto 1fr; + max-height: 100vh; + } + .has-menu .tsd-navigation { + max-height: 100%; + } +} + +.tsd-page-title { + padding: 70px 0 20px 0; + margin: 0 0 40px 0; + background: var(--color-panel); + box-shadow: 0 0 5px rgba(0, 0, 0, 0.35); +} +.tsd-page-title h1 { + margin: 0; +} + +.tsd-breadcrumb { + margin: 0; + padding: 0; + color: var(--color-text-aside); +} +.tsd-breadcrumb a { + color: var(--color-text-aside); + text-decoration: none; +} +.tsd-breadcrumb a:hover { + text-decoration: underline; +} +.tsd-breadcrumb li { + display: inline; +} +.tsd-breadcrumb li:after { + content: " / "; +} + +dl.tsd-comment-tags { + overflow: hidden; +} +dl.tsd-comment-tags dt { + float: left; + padding: 1px 5px; + margin: 0 10px 0 0; + border-radius: 4px; + border: 1px solid var(--color-comment-tag); + color: var(--color-comment-tag); + font-size: 0.8em; + font-weight: normal; +} +dl.tsd-comment-tags dd { + margin: 0 0 10px 0; +} +dl.tsd-comment-tags dd:before, +dl.tsd-comment-tags dd:after { + display: table; + content: " "; +} +dl.tsd-comment-tags dd pre, +dl.tsd-comment-tags dd:after { + clear: both; +} +dl.tsd-comment-tags p { + margin: 0; +} + +.tsd-panel.tsd-comment .lead { + font-size: 1.1em; + line-height: 1.333em; + margin-bottom: 2em; +} +.tsd-panel.tsd-comment .lead:last-child { + margin-bottom: 0; +} + +.toggle-protected .tsd-is-private { + display: none; +} + +.toggle-public .tsd-is-private, +.toggle-public .tsd-is-protected, +.toggle-public .tsd-is-private-protected { + display: none; +} + +.toggle-inherited .tsd-is-inherited { + display: none; +} + +.toggle-externals .tsd-is-external { + display: none; +} + +#tsd-filter { + position: relative; + display: inline-block; + height: 40px; + vertical-align: bottom; +} +.no-filter #tsd-filter { + display: none; +} +#tsd-filter .tsd-filter-group { + display: inline-block; + height: 40px; + vertical-align: bottom; + white-space: nowrap; +} +#tsd-filter input { + display: none; +} +@media (max-width: 900px) { + #tsd-filter .tsd-filter-group { + display: block; + position: absolute; + top: 40px; + right: 20px; + height: auto; + background-color: var(--color-panel); + visibility: hidden; + transform: translate(50%, 0); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + } + .has-options #tsd-filter .tsd-filter-group { + visibility: visible; + } + .to-has-options #tsd-filter .tsd-filter-group { + animation: fade-in 0.2s; + } + .from-has-options #tsd-filter .tsd-filter-group { + animation: fade-out 0.2s; + } + #tsd-filter label, + #tsd-filter .tsd-select { + display: block; + padding-right: 20px; + } +} + +footer { + border-top: 1px solid var(--color-panel-divider); + background-color: var(--color-panel); +} +footer:after { + content: ""; + display: table; +} +footer.with-border-bottom { + border-bottom: 1px solid var(--color-panel-divider); +} +footer .tsd-legend-group { + font-size: 0; +} +footer .tsd-legend { + display: inline-block; + width: 25%; + padding: 0; + font-size: 16px; + list-style: none; + line-height: 1.333em; + vertical-align: top; +} +@media (max-width: 900px) { + footer .tsd-legend { + width: 50%; + } +} + +.tsd-hierarchy { + list-style: square; + padding: 0 0 0 20px; + margin: 0; +} +.tsd-hierarchy .target { + font-weight: bold; +} + +.tsd-index-panel .tsd-index-content { + margin-bottom: -30px !important; +} +.tsd-index-panel .tsd-index-section { + margin-bottom: 30px !important; +} +.tsd-index-panel h3 { + margin: 0 -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 3; + -moz-column-count: 3; + -ms-column-count: 3; + -o-column-count: 3; + column-count: 3; + -webkit-column-gap: 20px; + -moz-column-gap: 20px; + -ms-column-gap: 20px; + -o-column-gap: 20px; + column-gap: 20px; + padding: 0; + list-style: none; + line-height: 1.333em; +} +@media (max-width: 900px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 1; + -moz-column-count: 1; + -ms-column-count: 1; + -o-column-count: 1; + column-count: 1; + } +} +@media (min-width: 901px) and (max-width: 1024px) { + .tsd-index-panel ul.tsd-index-list { + -webkit-column-count: 2; + -moz-column-count: 2; + -ms-column-count: 2; + -o-column-count: 2; + column-count: 2; + } +} +.tsd-index-panel ul.tsd-index-list li { + -webkit-page-break-inside: avoid; + -moz-page-break-inside: avoid; + -ms-page-break-inside: avoid; + -o-page-break-inside: avoid; + page-break-inside: avoid; +} +.tsd-index-panel a, +.tsd-index-panel .tsd-parent-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-parent-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-parent-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-parent-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-kind-module a { + color: var(--color-ts); +} +.tsd-index-panel .tsd-kind-interface a { + color: var(--color-ts-interface); +} +.tsd-index-panel .tsd-kind-enum a { + color: var(--color-ts-enum); +} +.tsd-index-panel .tsd-kind-class a { + color: var(--color-ts-class); +} +.tsd-index-panel .tsd-is-private a { + color: var(--color-ts-private); +} + +.tsd-flag { + display: inline-block; + padding: 0.25em 0.4em; + border-radius: 4px; + color: var(--color-comment-tag-text); + background-color: var(--color-comment-tag); + text-indent: 0; + font-size: 75%; + line-height: 1; + font-weight: normal; +} + +.tsd-anchor { + position: absolute; + top: -100px; +} + +.tsd-member { + position: relative; +} +.tsd-member .tsd-anchor + h3 { + margin-top: 0; + margin-bottom: 0; + border-bottom: none; +} +.tsd-member [data-tsd-kind] { + color: var(--color-ts); +} +.tsd-member [data-tsd-kind="Interface"] { + color: var(--color-ts-interface); +} +.tsd-member [data-tsd-kind="Enum"] { + color: var(--color-ts-enum); +} +.tsd-member [data-tsd-kind="Class"] { + color: var(--color-ts-class); +} +.tsd-member [data-tsd-kind="Private"] { + color: var(--color-ts-private); +} + +.tsd-navigation { + margin: 0 0 0 40px; +} +.tsd-navigation a { + display: block; + padding-top: 2px; + padding-bottom: 2px; + border-left: 2px solid transparent; + color: var(--color-text); + text-decoration: none; + transition: border-left-color 0.1s; +} +.tsd-navigation a:hover { + text-decoration: underline; +} +.tsd-navigation ul { + margin: 0; + padding: 0; + list-style: none; +} +.tsd-navigation li { + padding: 0; +} + +.tsd-navigation.primary { + padding-bottom: 40px; +} +.tsd-navigation.primary a { + display: block; + padding-top: 6px; + padding-bottom: 6px; +} +.tsd-navigation.primary ul li a { + padding-left: 5px; +} +.tsd-navigation.primary ul li li a { + padding-left: 25px; +} +.tsd-navigation.primary ul li li li a { + padding-left: 45px; +} +.tsd-navigation.primary ul li li li li a { + padding-left: 65px; +} +.tsd-navigation.primary ul li li li li li a { + padding-left: 85px; +} +.tsd-navigation.primary ul li li li li li li a { + padding-left: 105px; +} +.tsd-navigation.primary > ul { + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li { + border-top: 1px solid var(--color-panel-divider); +} +.tsd-navigation.primary li.current > a { + font-weight: bold; +} +.tsd-navigation.primary li.label span { + display: block; + padding: 20px 0 6px 5px; + color: var(--color-menu-label); +} +.tsd-navigation.primary li.globals + li > span, +.tsd-navigation.primary li.globals + li > a { + padding-top: 20px; +} + +.tsd-navigation.secondary { + max-height: calc(100vh - 1rem - 40px); + overflow: auto; + position: sticky; + top: calc(0.5rem + 40px); + transition: 0.3s; +} +.tsd-navigation.secondary.tsd-navigation--toolbar-hide { + max-height: calc(100vh - 1rem); + top: 0.5rem; +} +.tsd-navigation.secondary ul { + transition: opacity 0.2s; +} +.tsd-navigation.secondary ul li a { + padding-left: 25px; +} +.tsd-navigation.secondary ul li li a { + padding-left: 45px; +} +.tsd-navigation.secondary ul li li li a { + padding-left: 65px; +} +.tsd-navigation.secondary ul li li li li a { + padding-left: 85px; +} +.tsd-navigation.secondary ul li li li li li a { + padding-left: 105px; +} +.tsd-navigation.secondary ul li li li li li li a { + padding-left: 125px; +} +.tsd-navigation.secondary ul.current a { + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.focus > a, +.tsd-navigation.secondary ul.current li.focus > a { + border-left-color: var(--color-menu-divider-focus); +} +.tsd-navigation.secondary li.current { + margin-top: 20px; + margin-bottom: 20px; + border-left-color: var(--color-panel-divider); +} +.tsd-navigation.secondary li.current > a { + font-weight: bold; +} + +@media (min-width: 901px) { + .menu-sticky-wrap { + position: static; + } +} + +.tsd-panel { + margin: 20px 0; + padding: 20px; + background-color: var(--color-panel); + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +.tsd-panel:empty { + display: none; +} +.tsd-panel > h1, +.tsd-panel > h2, +.tsd-panel > h3 { + margin: 1.5em -20px 10px -20px; + padding: 0 20px 10px 20px; + border-bottom: 1px solid var(--color-panel-divider); +} +.tsd-panel > h1.tsd-before-signature, +.tsd-panel > h2.tsd-before-signature, +.tsd-panel > h3.tsd-before-signature { + margin-bottom: 0; + border-bottom: 0; +} +.tsd-panel table { + display: block; + width: 100%; + overflow: auto; + margin-top: 10px; + word-break: normal; + word-break: keep-all; + border-collapse: collapse; +} +.tsd-panel table th { + font-weight: bold; +} +.tsd-panel table th, +.tsd-panel table td { + padding: 6px 13px; + border: 1px solid var(--color-panel-divider); +} +.tsd-panel table tr { + background: var(--color-background); +} +.tsd-panel table tr:nth-child(even) { + background: var(--color-secondary-background); +} + +.tsd-panel-group { + margin: 60px 0; +} +.tsd-panel-group > h1, +.tsd-panel-group > h2, +.tsd-panel-group > h3 { + padding-left: 20px; + padding-right: 20px; +} + +#tsd-search { + transition: background-color 0.2s; +} +#tsd-search .title { + position: relative; + z-index: 2; +} +#tsd-search .field { + position: absolute; + left: 0; + top: 0; + right: 40px; + height: 40px; +} +#tsd-search .field input { + box-sizing: border-box; + position: relative; + top: -50px; + z-index: 1; + width: 100%; + padding: 0 10px; + opacity: 0; + outline: 0; + border: 0; + background: transparent; + color: var(--color-text); +} +#tsd-search .field label { + position: absolute; + overflow: hidden; + right: -40px; +} +#tsd-search .field input, +#tsd-search .title { + transition: opacity 0.2s; +} +#tsd-search .results { + position: absolute; + visibility: hidden; + top: 40px; + width: 100%; + margin: 0; + padding: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); +} +#tsd-search .results li { + padding: 0 10px; + background-color: var(--color-background); +} +#tsd-search .results li:nth-child(even) { + background-color: var(--color-panel); +} +#tsd-search .results li.state { + display: none; +} +#tsd-search .results li.current, +#tsd-search .results li:hover { + background-color: var(--color-panel-divider); +} +#tsd-search .results a { + display: block; +} +#tsd-search .results a:before { + top: 10px; +} +#tsd-search .results span.parent { + color: var(--color-text-aside); + font-weight: normal; +} +#tsd-search.has-focus { + background-color: var(--color-panel-divider); +} +#tsd-search.has-focus .field input { + top: 0; + opacity: 1; +} +#tsd-search.has-focus .title { + z-index: 0; + opacity: 0; +} +#tsd-search.has-focus .results { + visibility: visible; +} +#tsd-search.loading .results li.state.loading { + display: block; +} +#tsd-search.failure .results li.state.failure { + display: block; +} + +.tsd-signature { + margin: 0 0 1em 0; + padding: 10px; + border: 1px solid var(--color-panel-divider); + font-family: Menlo, Monaco, Consolas, "Courier New", monospace; + font-size: 14px; + overflow-x: auto; +} +.tsd-signature.tsd-kind-icon { + padding-left: 30px; +} +.tsd-signature.tsd-kind-icon:before { + top: 10px; + left: 10px; +} +.tsd-panel > .tsd-signature { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signature.tsd-kind-icon:before { + left: 20px; +} + +.tsd-signature-symbol { + color: var(--color-text-aside); + font-weight: normal; +} + +.tsd-signature-type { + font-style: italic; + font-weight: normal; +} + +.tsd-signatures { + padding: 0; + margin: 0 0 1em 0; + border: 1px solid var(--color-panel-divider); +} +.tsd-signatures .tsd-signature { + margin: 0; + border-width: 1px 0 0 0; + transition: background-color 0.1s; +} +.tsd-signatures .tsd-signature:first-child { + border-top-width: 0; +} +.tsd-signatures .tsd-signature.current { + background-color: var(--color-panel-divider); +} +.tsd-signatures.active > .tsd-signature { + cursor: pointer; +} +.tsd-panel > .tsd-signatures { + margin-left: -20px; + margin-right: -20px; + border-width: 1px 0; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon { + padding-left: 40px; +} +.tsd-panel > .tsd-signatures .tsd-signature.tsd-kind-icon:before { + left: 20px; +} +.tsd-panel > a.anchor + .tsd-signatures { + border-top-width: 0; + margin-top: -20px; +} + +ul.tsd-descriptions { + position: relative; + overflow: hidden; + padding: 0; + list-style: none; +} +ul.tsd-descriptions.active > .tsd-description { + display: none; +} +ul.tsd-descriptions.active > .tsd-description.current { + display: block; +} +ul.tsd-descriptions.active > .tsd-description.fade-in { + animation: fade-in-delayed 0.3s; +} +ul.tsd-descriptions.active > .tsd-description.fade-out { + animation: fade-out-delayed 0.3s; + position: absolute; + display: block; + top: 0; + left: 0; + right: 0; + opacity: 0; + visibility: hidden; +} +ul.tsd-descriptions h4, +ul.tsd-descriptions .tsd-index-panel h3, +.tsd-index-panel ul.tsd-descriptions h3 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} + +ul.tsd-parameters, +ul.tsd-type-parameters { + list-style: square; + margin: 0; + padding-left: 20px; +} +ul.tsd-parameters > li.tsd-parameter-signature, +ul.tsd-type-parameters > li.tsd-parameter-signature { + list-style: none; + margin-left: -20px; +} +ul.tsd-parameters h5, +ul.tsd-type-parameters h5 { + font-size: 16px; + margin: 1em 0 0.5em 0; +} +ul.tsd-parameters .tsd-comment, +ul.tsd-type-parameters .tsd-comment { + margin-top: -0.5em; +} + +.tsd-sources { + font-size: 14px; + color: var(--color-text-aside); + margin: 0 0 1em 0; +} +.tsd-sources a { + color: var(--color-text-aside); + text-decoration: underline; +} +.tsd-sources ul, +.tsd-sources p { + margin: 0 !important; +} +.tsd-sources ul { + list-style: none; + padding: 0; +} + +.tsd-page-toolbar { + position: fixed; + z-index: 1; + top: 0; + left: 0; + width: 100%; + height: 40px; + color: var(--color-toolbar-text); + background: var(--color-toolbar); + border-bottom: 1px solid var(--color-panel-divider); + transition: transform 0.3s linear; +} +.tsd-page-toolbar a { + color: var(--color-toolbar-text); + text-decoration: none; +} +.tsd-page-toolbar a.title { + font-weight: bold; +} +.tsd-page-toolbar a.title:hover { + text-decoration: underline; +} +.tsd-page-toolbar .table-wrap { + display: table; + width: 100%; + height: 40px; +} +.tsd-page-toolbar .table-cell { + display: table-cell; + position: relative; + white-space: nowrap; + line-height: 40px; +} +.tsd-page-toolbar .table-cell:first-child { + width: 100%; +} + +.tsd-page-toolbar--hide { + transform: translateY(-100%); +} + +.tsd-select .tsd-select-list li:before, +.tsd-select .tsd-select-label:before, +.tsd-widget:before { + content: ""; + display: inline-block; + width: 40px; + height: 40px; + margin: 0 -8px 0 0; + background-image: url(./widgets.png); + background-repeat: no-repeat; + text-indent: -1024px; + vertical-align: bottom; + filter: var(--icon-filter); +} +@media (-webkit-min-device-pixel-ratio: 1.5), (min-resolution: 144dpi) { + .tsd-select .tsd-select-list li:before, + .tsd-select .tsd-select-label:before, + .tsd-widget:before { + background-image: url(./widgets@2x.png); + background-size: 320px 40px; + } +} + +.tsd-widget { + display: inline-block; + overflow: hidden; + opacity: 0.8; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-widget:hover { + opacity: 0.9; +} +.tsd-widget.active { + opacity: 1; + background-color: var(--color-panel-divider); +} +.tsd-widget.no-caption { + width: 40px; +} +.tsd-widget.no-caption:before { + margin: 0; +} +.tsd-widget.search:before { + background-position: 0 0; +} +.tsd-widget.menu:before { + background-position: -40px 0; +} +.tsd-widget.options:before { + background-position: -80px 0; +} +.tsd-widget.options, +.tsd-widget.menu { + display: none; +} +@media (max-width: 900px) { + .tsd-widget.options, + .tsd-widget.menu { + display: inline-block; + } +} +input[type="checkbox"] + .tsd-widget:before { + background-position: -120px 0; +} +input[type="checkbox"]:checked + .tsd-widget:before { + background-position: -160px 0; +} + +.tsd-select { + position: relative; + display: inline-block; + height: 40px; + transition: opacity 0.1s, background-color 0.2s; + vertical-align: bottom; + cursor: pointer; +} +.tsd-select .tsd-select-label { + opacity: 0.6; + transition: opacity 0.2s; +} +.tsd-select .tsd-select-label:before { + background-position: -240px 0; +} +.tsd-select.active .tsd-select-label { + opacity: 0.8; +} +.tsd-select.active .tsd-select-list { + visibility: visible; + opacity: 1; + transition-delay: 0s; +} +.tsd-select .tsd-select-list { + position: absolute; + visibility: hidden; + top: 40px; + left: 0; + margin: 0; + padding: 0; + opacity: 0; + list-style: none; + box-shadow: 0 0 4px rgba(0, 0, 0, 0.25); + transition: visibility 0s 0.2s, opacity 0.2s; +} +.tsd-select .tsd-select-list li { + padding: 0 20px 0 0; + background-color: var(--color-background); +} +.tsd-select .tsd-select-list li:before { + background-position: 40px 0; +} +.tsd-select .tsd-select-list li:nth-child(even) { + background-color: var(--color-panel); +} +.tsd-select .tsd-select-list li:hover { + background-color: var(--color-panel-divider); +} +.tsd-select .tsd-select-list li.selected:before { + background-position: -200px 0; +} +@media (max-width: 900px) { + .tsd-select .tsd-select-list { + top: 0; + left: auto; + right: 100%; + margin-right: -5px; + } + .tsd-select .tsd-select-label:before { + background-position: -280px 0; + } +} + +img { + max-width: 100%; +} + +.tsd-anchor-icon { + margin-left: 10px; + vertical-align: middle; + color: var(--color-text); +} + +.tsd-anchor-icon svg { + width: 1em; + height: 1em; + visibility: hidden; +} + +.tsd-anchor-link:hover > .tsd-anchor-icon svg { + visibility: visible; +} diff --git a/docs/assets/widgets.png b/docs/assets/widgets.png new file mode 100644 index 00000000..c7380532 Binary files /dev/null and b/docs/assets/widgets.png differ diff --git a/docs/assets/widgets@2x.png b/docs/assets/widgets@2x.png new file mode 100644 index 00000000..4bbbd572 Binary files /dev/null and b/docs/assets/widgets@2x.png differ diff --git a/docs/classes/Adb.html b/docs/classes/Adb.html new file mode 100644 index 00000000..fbe6282f --- /dev/null +++ b/docs/classes/Adb.html @@ -0,0 +1 @@ +Adb | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Adb

Index

Constructors

Properties

Methods

Constructors

Properties

util: typeof default = util

Methods

  • createClient(options?: Options): Client

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Client.html b/docs/classes/Client.html new file mode 100644 index 00000000..a1c65107 --- /dev/null +++ b/docs/classes/Client.html @@ -0,0 +1,11 @@ +Client | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • EventEmitter
    • Client

Index

Constructors

Properties

bin: string
host: string
options: ClientOptions
port: string | number
captureRejectionSymbol: typeof captureRejectionSymbol
captureRejections: boolean
+

Sets or gets the default captureRejection value for all emitters.

+
defaultMaxListeners: number
errorMonitor: typeof errorMonitor
+

This symbol shall be used to install a listener for only monitoring 'error' +events. Listeners installed using this symbol are called before the regular +'error' listeners are called.

+

Installing a listener using this symbol does not change the behavior once an +'error' event is emitted, therefore the process will still crash if no +regular 'error' listener is installed.

+

Methods

  • addListener(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • connect(host: string, port?: number): Bluebird<string>
  • connection(): Bluebird<default>
  • createTcpUsbBridge(serial: string, options: SocketOptions): default
  • disconnect(host: string, port?: number): Bluebird<DeviceClient>
  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

  • getMaxListeners(): number
  • Returns number

  • kill(): Bluebird<boolean>
  • listDevices(): Bluebird<Device[]>
  • listenerCount(event: string | symbol): number
  • Parameters

    • event: string | symbol

    Returns number

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

  • off(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • on(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • once(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • prependListener(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • prependOnceListener(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

  • removeAllListeners(event?: string | symbol): Client
  • Parameters

    • Optional event: string | symbol

    Returns Client

  • removeListener(event: string | symbol, listener: (...args: any[]) => void): Client
  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns Client

  • setMaxListeners(n: number): Client
  • Parameters

    • n: number

    Returns Client

  • trackDevices(): Bluebird<default>
  • version(): Bluebird<number>
  • listenerCount(emitter: EventEmitter, event: string | symbol): number
  • deprecated

    since v4.0.0

    +

    Parameters

    • emitter: EventEmitter
    • event: string | symbol

    Returns number

  • on(emitter: EventEmitter, event: string): AsyncIterableIterator<any>
  • Parameters

    • emitter: EventEmitter
    • event: string

    Returns AsyncIterableIterator<any>

  • once(emitter: NodeEventTarget, event: string | symbol): Promise<any[]>
  • once(emitter: DOMEventTarget, event: string): Promise<any[]>
  • Parameters

    • emitter: NodeEventTarget
    • event: string | symbol

    Returns Promise<any[]>

  • Parameters

    • emitter: DOMEventTarget
    • event: string

    Returns Promise<any[]>

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/DeviceClient.html b/docs/classes/DeviceClient.html new file mode 100644 index 00000000..a5e8ea0a --- /dev/null +++ b/docs/classes/DeviceClient.html @@ -0,0 +1,241 @@ +DeviceClient | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • DeviceClient

Index

Constructors

Properties

client: Client
serial: string

Methods

  • clear(pkg: string): Bluebird<boolean>
  • +

    Deletes all data associated with a package from the device. This is roughly analogous to adb shell pm clear <pkg>.

    +

    Parameters

    • pkg: string
      +

      The package name. This is NOT the APK.

      +

    Returns Bluebird<boolean>

    true

    +
  • connection(): Bluebird<default>
  • forward(local: string, remote: string): Bluebird<boolean>
  • +

    Forwards socket connections from the ADB server host (local) to the device (remote). This is analogous to adb forward <local> <remote>. It's important to note that if you are connected to a remote ADB server, the forward will be created on that host.

    +

    Parameters

    • local: string
      +

      A string representing the local endpoint on the ADB host. At time of writing, can be one of:

      +
        +
      • tcp:<port>
      • +
      • localabstract:<unix domain socket name>
      • +
      • localreserved:<unix domain socket name>
      • +
      • localfilesystem:<unix domain socket name>
      • +
      • dev:<character device name>
      • +
      +
    • remote: string
      +

      A string representing the remote endpoint on the device. At time of writing, can be one of: + Any value accepted by the local argument + jdwp:<process pid>

      +

    Returns Bluebird<boolean>

    true

    +
  • +

    Fetches the current raw framebuffer (i.e. what is visible on the screen) from the device, and optionally converts it into something more usable by using [GraphicsMagick][graphicsmagick]'s gm command, which must be available in $PATH if conversion is desired. Note that we don't bother supporting really old framebuffer formats such as RGB_565. If for some mysterious reason you happen to run into a >=2.3 device that uses RGB_565, let us know.

    +

    Note that high-resolution devices can have quite massive framebuffers. For example, a device with a resolution of 1920x1080 and 32 bit colors would have a roughly 8MB (1920*1080*4 byte) RGBA framebuffer. Empirical tests point to about 5MB/s bandwidth limit for the ADB USB connection, which means that it can take ~1.6 seconds for the raw data to arrive, or even more if the USB connection is already congested. Using a conversion will further slow down completion.

    +

    Parameters

    • format: string = 'raw'
      +

      The desired output format. Any output format supported by [GraphicsMagick][graphicsmagick] (such as 'png') is supported. Defaults to 'raw' for raw framebuffer data.

      +

    Returns Bluebird<FramebufferStreamWithMeta>

    The possibly converted framebuffer stream. The stream also has a meta.:

    +
  • getDHCPIpAddress(iface?: string): Bluebird<string>
  • +

    Attemps to retrieve the IP address of the device. Roughly analogous to adb shell getprop dhcp.<iface>.ipaddress.

    +

    Parameters

    • iface: string = 'wlan0'

    Returns Bluebird<string>

    The IP address as a String.

    +
  • getDevicePath(): Bluebird<string>
  • +

    Gets the device path of the device identified by the given serial number.

    +

    Returns Bluebird<string>

    The device path. This corresponds to the device path in client.listDevicesWithPaths().

    +
  • +

    Retrieves the features of the device identified by the given serial number. This is analogous to adb shell pm list features. Useful for checking whether hardware features such as NFC are available (you'd check for 'android.hardware.nfc').

    +

    Returns Bluebird<Features>

    An object of device features. Each key corresponds to a device feature, with the value being either true for a boolean feature, or the feature value as a string (e.g. '0x20000' for reqGlEsVersion).

    +
  • getPackages(flags?: string): Bluebird<string[]>
  • +

    Retrieves the list of packages present on the device. This is analogous to adb shell pm list packages. If you just want to see if something's installed, consider using client.isInstalled() instead.

    +

    Parameters

    • Optional flags: string
      +

      TODO

      +

    Returns Bluebird<string[]>

    An object of device features. Each key corresponds to a device feature, with the value being either true for a boolean feature, or the feature value as a string (e.g. '0x20000' for reqGlEsVersion)

    +
  • +

    Retrieves the properties of the device identified by the given serial number. This is analogous to adb shell getprop.

    +

    Returns Bluebird<Properties>

    An object of device properties. Each key corresponds to a device property. Convenient for accessing things like 'ro.product.model'.

    +
  • getSerialNo(): Bluebird<string>
  • +

    Gets the serial number of the device identified by the given serial number. With our API this doesn't really make much sense, but it has been implemented for completeness. FYI: in the raw ADB protocol you can specify a device in other ways, too.

    +

    Returns Bluebird<string>

    The serial number of the device.

    +
  • getState(): Bluebird<string>
  • +

    Gets the state of the device identified by the given serial number.

    +

    Returns Bluebird<string>

    The device state. This corresponds to the device type in client.listDevices().

    +
  • install(apk: string | ReadStream): Bluebird<boolean>
  • +

    Installs the APK on the device, replacing any previously installed version. This is roughly analogous to adb install -r <apk>.

    +

    Note that if the call seems to stall, you may have to accept a dialog on the phone first.

    +

    Parameters

    • apk: string | ReadStream
      +

      When String, interpreted as a path to an APK file. When [Stream][node-stream], installs directly from the stream, which must be a valid APK.

      +

    Returns Bluebird<boolean>

    true

    +
  • installRemote(apk: string): Bluebird<boolean>
  • +

    Installs an APK file which must already be located on the device file system, and replaces any previously installed version. Useful if you've previously pushed the file to the device for some reason (perhaps to have direct access to client.push()'s transfer stats). This is roughly analogous to adb shell pm install -r <apk> followed by adb shell rm -f <apk>.

    +

    Note that if the call seems to stall, you may have to accept a dialog on the phone first.

    +

    Parameters

    • apk: string
      +

      The path to the APK file on the device. The file will be removed when the command completes.

      +

    Returns Bluebird<boolean>

    true

    +
  • isInstalled(pkg: string): Bluebird<boolean>
  • +

    Tells you if the specific package is installed or not. This is analogous to adb shell pm path <pkg> and some output parsing.

    +

    Parameters

    • pkg: string
      +

      The package name. This is NOT the APK.

      +

    Returns Bluebird<boolean>

    true if the package is installed, false otherwise.

    +
  • listForwards(): Bluebird<Forward[]>
  • +

    Lists forwarded connections on the device. This is analogous to adb forward --list.

    +

    Returns Bluebird<Forward[]>

    An array of forward objects with the following properties:

    +
      +
    • serial The device serial.
    • +
    • local The local endpoint. Same format as client.forward()'s local argument.
    • +
    • remote The remote endpoint on the device. Same format as client.forward()'s remote argument.
    • +
    +
  • listReverses(): Bluebird<Reverse[]>
  • +

    Lists forwarded connections on the device. This is analogous to adb reverse --list.

    +

    Returns Bluebird<Reverse[]>

    An array of Reverse objects with the following properties:

    +
      +
    • remote The remote endpoint on the device. Same format as client.reverse()'s remote argument.
    • +
    • local The local endpoint on the host. Same format as client.reverse()'s local argument.
    • +
    +
  • openLocal(path: string): Bluebird<Duplex>
  • +

    Opens a direct connection to a unix domain socket in the given path.

    +

    Parameters

    • path: string
      +

      The path to the socket. Prefixed with 'localfilesystem:' by default, include another prefix (e.g. 'localabstract:') in the path to override.

      +

    Returns Bluebird<Duplex>

    The connection (i.e. [net.Socket][node-net]). Read and write as you please. Call conn.end() to end the connection.

    +
  • openLog(name: string): Bluebird<Duplex>
  • +

    Opens a direct connection to a binary log file, providing access to the raw log data. Note that it is usually much more convenient to use the client.openLogcat() method, described separately.

    +

    Parameters

    • name: string
      +

      The name of the log. Available logs include 'main', 'system', 'radio' and 'events'.

      +

    Returns Bluebird<Duplex>

    The binary log stream. Call log.end() when you wish to stop receiving data.

    +
  • openLogcat(options?: { clear?: boolean }): Bluebird<Logcat>
  • +

    Calls the logcat utility on the device and hands off the connection to [adbkit-logcat][adbkit-logcat], a pure Node.js Logcat client. This is analogous to adb logcat -B, but the event stream will be parsed for you and a separate event will be emitted for every log entry, allowing for easy processing.

    +

    For more information, check out the [adbkit-logcat][adbkit-logcat] documentation.

    +

    Parameters

    • options: { clear?: boolean } = {}
      +

      Optional. The following options are supported:

      +
        +
      • clear When true, clears logcat before opening the reader. Not set by default.
      • +
      +
      • Optional clear?: boolean

    Returns Bluebird<Logcat>

    The Logcat client. Please see the [adbkit-logcat][adbkit-logcat] documentation for details.

    +
  • openMonkey(port?: number): Bluebird<Duplex>
  • +

    Starts the built-in monkey utility on the device, connects to it using client.openTcp() and hands the connection to [adbkit-monkey][adbkit-monkey], a pure Node.js Monkey client. This allows you to create touch and key events, among other things.

    +

    For more information, check out the [adbkit-monkey][adbkit-monkey] documentation.

    +

    Parameters

    • port: number = 1080
      +

      Optional. The device port where you'd like Monkey to run at. Defaults to 1080.

      +

    Returns Bluebird<Duplex>

    The Monkey client. Please see the [adbkit-monkey][adbkit-monkey] documentation for details.

    +
  • openProcStat(): Bluebird<ProcStat>
  • +

    Tracks /proc/stat and emits useful information, such as CPU load. A single sync service instance is used to download the /proc/stat file for processing. While doing this does consume some resources, it is very light and should not be a problem.

    +

    Returns Bluebird<ProcStat>

    The /proc/stat tracker, which is an [EventEmitter][node-events]. Call stat.end() to stop tracking. The following events are available:

    +
      +
    • load (loads) Emitted when a CPU load calculation is available.
    • +
    • loads CPU loads of online CPUs. Each key is a CPU id (e.g. 'cpu0', 'cpu1') and the value an object with the following properties: +- user Percentage (0-100) of ticks spent on user programs. +- nice Percentage (0-100) of ticks spent on niced user programs. +- system Percentage (0-100) of ticks spent on system programs. +- idle Percentage (0-100) of ticks spent idling. +- iowait Percentage (0-100) of ticks spent waiting for IO. +- irq Percentage (0-100) of ticks spent on hardware interrupts. +- softirq Percentage (0-100) of ticks spent on software interrupts. +- steal Percentage (0-100) of ticks stolen by others. +- guest Percentage (0-100) of ticks spent by a guest. +- guestnice Percentage (0-100) of ticks spent by a niced guest. +- total Total. Always 100.
    • +
    +
  • openTcp(port: number, host?: string): Bluebird<Duplex>
  • +

    Opens a direct TCP connection to a port on the device, without any port forwarding required.

    +

    Parameters

    • port: number
      +

      The port number to connect to.

      +
    • Optional host: string
      +

      Optional. The host to connect to. Allegedly this is supposed to establish a connection to the given host from the device, but we have not been able to get it to work at all. Skip the host and everything works great.

      +

    Returns Bluebird<Duplex>

    The TCP connection (i.e. [net.Socket][node-net]). Read and write as you please. Call conn.end() to end the connection.

    +
  • pull(path: string): Bluebird<default>
  • +

    A convenience shortcut for sync.pull(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

    +

    Parameters

    • path: string
      +

      See sync.pull() for details.

      +

    Returns Bluebird<default>

    A PullTransfer instance.

    +
  • push(contents: string | ReadStream, path: string, mode?: number): Bluebird<default>
  • +

    A convenience shortcut for sync.push(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

    +

    Parameters

    • contents: string | ReadStream
      +

      See sync.push() for details.

      +
    • path: string
      +

      See sync.push() for details.

      +
    • Optional mode: number
      +

      See sync.push() for details.

      +

    Returns Bluebird<default>

  • readdir(path: string): Bluebird<Entry[]>
  • +

    A convenience shortcut for sync.readdir(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

    +

    Parameters

    • path: string
      +

      See sync.readdir() for details.

      +

    Returns Bluebird<Entry[]>

    Files Lists

    +
  • reboot(): Bluebird<boolean>
  • +

    Puts the device into root mode which may be needed by certain shell commands. A remount is generally required after a successful root call. Note that this will only work if your device supports this feature. Production devices almost never do.

    +

    Returns Bluebird<boolean>

    true

    +
  • remount(): Bluebird<boolean>
  • +

    Attempts to remount the /system partition in read-write mode. This will usually only work on emulators and developer devices.

    +

    Returns Bluebird<boolean>

    true

    +
  • reverse(remote: string, local: string): Bluebird<boolean>
  • +

    Reverses socket connections from the device (remote) to the ADB server host (local). This is analogous to adb reverse <remote> <local>. It's important to note that if you are connected to a remote ADB server, the reverse will be created on that host.

    +

    Parameters

    • remote: string
      +

      A string representing the remote endpoint on the device. At time of writing, can be one of:

      +
        +
      • tcp:<port>
      • +
      • localabstract:<unix domain socket name>
      • +
      • localreserved:<unix domain socket name>
      • +
      • localfilesystem:<unix domain socket name>
      • +
      +
    • local: string
      +

      A string representing the local endpoint on the ADB host. At time of writing, can be any value accepted by the remote argument.

      +

    Returns Bluebird<boolean>

  • root(): Bluebird<boolean>
  • +

    Puts the device into root mode which may be needed by certain shell commands. A remount is generally required after a successful root call. Note that this will only work if your device supports this feature. Production devices almost never do.

    +

    Returns Bluebird<boolean>

    true

    +
  • screencap(): Bluebird<Duplex>
  • +

    Takes a screenshot in PNG format using the built-in screencap utility. This is analogous to adb shell screencap -p. Sadly, the utility is not available on most Android <=2.3 devices, but a silent fallback to the client.framebuffer() command in PNG mode is attempted, so you should have its dependencies installed just in case.

    +

    Generating the PNG on the device naturally requires considerably more processing time on that side. However, as the data transferred over USB easily decreases by ~95%, and no conversion being required on the host, this method is usually several times faster than using the framebuffer. Naturally, this benefit does not apply if we're forced to fall back to the framebuffer.

    +

    For convenience purposes, if the screencap command fails (e.g. because it doesn't exist on older Androids), we fall back to client.framebuffer(serial, 'png'), which is slower and has additional installation requirements.

    +

    Returns Bluebird<Duplex>

    The PNG stream.

    +
  • shell(command: string | ArrayLike<WithToString>): Bluebird<Duplex>
  • +

    Runs a shell command on the device. Note that you'll be limited to the permissions of the shell user, which ADB uses.

    +

    Parameters

    • command: string | ArrayLike<WithToString>
      +

      The shell command to execute. When String, the command is run as-is. When Array, the elements will be rudimentarily escaped (for convenience, not security) and joined to form a command.

      +

    Returns Bluebird<Duplex>

    A readable stream (Socket actually) containing the progressive stdout of the command. Use with adb.util.readAll to get a readable String from it.

    +
  • +

    Starts the configured service on the device. Roughly analogous to adb shell am startservice <options>.

    +

    Parameters

    Returns Bluebird<boolean>

  • stat(path: string): Bluebird<default>
  • +

    Retrieves information about the given path.

    +

    Parameters

    • path: string
      +

      The path.

      +

    Returns Bluebird<default>

    An [fs.Stats][node-fs-stats] instance. While the stats.is* methods are available, only the following properties are supported:

    +
      +
    • mode The raw mode.
    • +
    • size The file size.
    • +
    • mtime The time of last modification as a Date.
    • +
    +
  • syncService(): Bluebird<default>
  • +

    Establishes a new Sync connection that can be used to push and pull files. This method provides the most freedom and the best performance for repeated use, but can be a bit cumbersome to use. For simple use cases, consider using client.stat(), client.push() and client.pull().

    +

    Returns Bluebird<default>

    The Sync client. See below for details. Call sync.end() when done.

    +
  • tcpip(port?: number): Bluebird<number>
  • +

    Puts the device's ADB daemon into tcp mode, allowing you to use adb connect or client.connect() to connect to it. Note that the device will still be visible to ADB as a regular USB-connected device until you unplug it. Same as adb tcpip <port>.

    +

    Parameters

    • port: number = 5555
      +

      Optional. The port the device should listen on. Defaults to 5555.

      +

    Returns Bluebird<number>

    The port the device started listening on.

    +
  • trackJdwp(): Bluebird<default>
  • +

    Starts a JDWP tracker for the given device.

    +

    Note that as the tracker will keep a connection open, you must call tracker.end() if you wish to stop tracking JDWP processes.

    +

    Returns Bluebird<default>

    The JDWP tracker, which is an [EventEmitter][node-events]. The following events are available:

    +
      +
    • add (pid) Emitted when a new JDWP process becomes available, once per pid.
    • +
    • remove (pid) Emitted when a JDWP process becomes unavailable, once per pid.
    • +
    • changeSet (changes, pids) All changes in a single event.
    • +
    • changes An object with the following properties always present: + - added An array of pids that were added. Empty if none. + - removed An array of pids that were removed. Empty if none.
    • +
    • pids All currently active pids (including pids from previous runs).
    • +
    • end Emitted when the underlying connection ends.
    • +
    • error (err) Emitted if there's an error.
    • +
    +
  • transport(): Bluebird<default>
  • uninstall(pkg: string): Bluebird<boolean>
  • +

    Uninstalls the package from the device. This is roughly analogous to adb uninstall <pkg>.

    +

    Parameters

    • pkg: string
      +

      The package name. This is NOT the APK.

      +

    Returns Bluebird<boolean>

    true

    +
  • usb(): Bluebird<boolean>
  • +

    Puts the device's ADB daemon back into USB mode. Reverses client.tcpip(). Same as adb usb.

    +

    Returns Bluebird<boolean>

    true

    +
  • waitBootComplete(): Bluebird<boolean>
  • +

    Waits until the device has finished booting. Note that the device must already be seen by ADB. This is roughly analogous to periodically checking adb shell getprop sys.boot_completed.

    +

    Returns Bluebird<boolean>

    true

    +
  • waitForDevice(): Bluebird<string>
  • +

    Waits until ADB can see the device. Note that you must know the serial in advance. Other than that, works like adb -s serial wait-for-device. If you're planning on reacting to random devices being plugged in and out, consider using client.trackDevices() instead.

    +

    Returns Bluebird<string>

    The device ID. Can be useful for chaining.

    +

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/Parser.html b/docs/classes/Parser.html new file mode 100644 index 00000000..e0421d4f --- /dev/null +++ b/docs/classes/Parser.html @@ -0,0 +1 @@ +Parser | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Parser

Index

Constructors

  • new Parser(stream: Duplex): Parser

Properties

ended: boolean = false
stream: Duplex
FailError: typeof FailError = FailError
PrematureEOFError: typeof PrematureEOFError = PrematureEOFError
UnexpectedDataError: typeof UnexpectedDataError = UnexpectedDataError

Methods

  • end(): Bluebird<boolean>
  • raw(): Duplex
  • readAll(): Bluebird<Buffer>
  • readAscii(howMany: number): Bluebird<string>
  • readByteFlow(howMany: number, targetStream: Duplex): Bluebird<void>
  • readBytes(howMany: number): Bluebird<Buffer>
  • readError(): Bluebird<never>
  • readLine(): Bluebird<Buffer>
  • readUntil(code: number): Bluebird<Buffer>
  • readValue(): Bluebird<Buffer>
  • searchLine(re: RegExp): Bluebird<RegExpExecArray>
  • unexpected(data: string, expected: string): Bluebird<any>

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/classes/ShellCommand.html b/docs/classes/ShellCommand.html new file mode 100644 index 00000000..4e320d88 --- /dev/null +++ b/docs/classes/ShellCommand.html @@ -0,0 +1 @@ +ShellCommand | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • default<Duplex>
    • ShellCommand

Index

Constructors

Properties

connection: default
parser: Parser
protocol: default

Methods

  • _send(data: string | Buffer): default<Duplex>
  • Parameters

    • data: string | Buffer

    Returns default<Duplex>

  • execute(command: string | ArrayLike<WithToString>): Bluebird<Duplex>

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/enums/KeyCodes.html b/docs/enums/KeyCodes.html new file mode 100644 index 00000000..912658b9 --- /dev/null +++ b/docs/enums/KeyCodes.html @@ -0,0 +1 @@ +KeyCodes | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Enumeration KeyCodes

Index

Enumeration members

Enumeration members

KEYCODE_0 = 7
KEYCODE_1 = 8
KEYCODE_11 = 227
KEYCODE_12 = 228
KEYCODE_2 = 9
KEYCODE_3 = 10
KEYCODE_3D_MODE = 206
KEYCODE_4 = 11
KEYCODE_5 = 12
KEYCODE_6 = 13
KEYCODE_7 = 14
KEYCODE_8 = 15
KEYCODE_9 = 16
KEYCODE_A = 29
KEYCODE_ALL_APPS = 284
KEYCODE_ALT_LEFT = 57
KEYCODE_ALT_RIGHT = 58
KEYCODE_APOSTROPHE = 75
KEYCODE_APP_SWITCH = 187
KEYCODE_ASSIST = 219
KEYCODE_AT = 77
KEYCODE_AVR_INPUT = 182
KEYCODE_AVR_POWER = 181
KEYCODE_B = 30
KEYCODE_BACK = 4
KEYCODE_BACKSLASH = 73
KEYCODE_BOOKMARK = 174
KEYCODE_BREAK = 121
KEYCODE_BRIGHTNESS_DOWN = 220
KEYCODE_BRIGHTNESS_UP = 221
KEYCODE_BUTTON_1 = 188
KEYCODE_BUTTON_10 = 197
KEYCODE_BUTTON_11 = 198
KEYCODE_BUTTON_12 = 199
KEYCODE_BUTTON_13 = 200
KEYCODE_BUTTON_14 = 201
KEYCODE_BUTTON_15 = 202
KEYCODE_BUTTON_16 = 203
KEYCODE_BUTTON_2 = 189
KEYCODE_BUTTON_3 = 190
KEYCODE_BUTTON_4 = 191
KEYCODE_BUTTON_5 = 192
KEYCODE_BUTTON_6 = 193
KEYCODE_BUTTON_7 = 194
KEYCODE_BUTTON_8 = 195
KEYCODE_BUTTON_9 = 196
KEYCODE_BUTTON_A = 96
KEYCODE_BUTTON_B = 97
KEYCODE_BUTTON_C = 98
KEYCODE_BUTTON_L1 = 102
KEYCODE_BUTTON_L2 = 104
KEYCODE_BUTTON_MODE = 110
KEYCODE_BUTTON_R1 = 103
KEYCODE_BUTTON_R2 = 105
KEYCODE_BUTTON_SELECT = 109
KEYCODE_BUTTON_START = 108
KEYCODE_BUTTON_THUMBL = 106
KEYCODE_BUTTON_THUMBR = 107
KEYCODE_BUTTON_X = 99
KEYCODE_BUTTON_Y = 100
KEYCODE_BUTTON_Z = 101
KEYCODE_C = 31
KEYCODE_CALCULATOR = 210
KEYCODE_CALENDAR = 208
KEYCODE_CALL = 5
KEYCODE_CAMERA = 27
KEYCODE_CAPS_LOCK = 115
KEYCODE_CAPTIONS = 175
KEYCODE_CHANNEL_DOWN = 167
KEYCODE_CHANNEL_UP = 166
KEYCODE_CLEAR = 28
KEYCODE_COMMA = 55
KEYCODE_CONTACTS = 207
KEYCODE_COPY = 278
KEYCODE_CTRL_LEFT = 113
KEYCODE_CTRL_RIGHT = 114
KEYCODE_CUT = 277
KEYCODE_D = 32
KEYCODE_DEL = 67
KEYCODE_DPAD_CENTER = 23
KEYCODE_DPAD_DOWN = 20
KEYCODE_DPAD_DOWN_LEFT = 269
KEYCODE_DPAD_DOWN_RIGHT = 271
KEYCODE_DPAD_LEFT = 21
KEYCODE_DPAD_RIGHT = 22
KEYCODE_DPAD_UP = 19
KEYCODE_DPAD_UP_LEFT = 268
KEYCODE_DPAD_UP_RIGHT = 270
KEYCODE_DVR = 173
KEYCODE_E = 33
KEYCODE_EISU = 212
KEYCODE_ENDCALL = 6
KEYCODE_ENTER = 66
KEYCODE_ENVELOPE = 65
KEYCODE_EQUALS = 70
KEYCODE_ESCAPE = 111
KEYCODE_EXPLORER = 64
KEYCODE_F = 34
KEYCODE_F1 = 131
KEYCODE_F10 = 140
KEYCODE_F11 = 141
KEYCODE_F12 = 142
KEYCODE_F2 = 132
KEYCODE_F3 = 133
KEYCODE_F4 = 134
KEYCODE_F5 = 135
KEYCODE_F6 = 136
KEYCODE_F7 = 137
KEYCODE_F8 = 138
KEYCODE_F9 = 139
KEYCODE_FOCUS = 80
KEYCODE_FORWARD = 125
KEYCODE_FORWARD_DEL = 112
KEYCODE_FUNCTION = 119
KEYCODE_G = 35
KEYCODE_GRAVE = 68
KEYCODE_GUIDE = 172
KEYCODE_H = 36
KEYCODE_HEADSETHOOK = 79
KEYCODE_HELP = 259
KEYCODE_HENKAN = 214
KEYCODE_HOME = 3
KEYCODE_I = 37
KEYCODE_INFO = 165
KEYCODE_INSERT = 124
KEYCODE_J = 38
KEYCODE_K = 39
KEYCODE_KANA = 218
KEYCODE_KATAKANA_HIRAGANA = 215
KEYCODE_L = 40
KEYCODE_LANGUAGE_SWITCH = 204
KEYCODE_LAST_CHANNEL = 229
KEYCODE_LEFT_BRACKET = 71
KEYCODE_M = 41
KEYCODE_MANNER_MODE = 205
KEYCODE_MEDIA_AUDIO_TRACK = 222
KEYCODE_MEDIA_CLOSE = 128
KEYCODE_MEDIA_EJECT = 129
KEYCODE_MEDIA_FAST_FORWARD = 90
KEYCODE_MEDIA_NEXT = 87
KEYCODE_MEDIA_PAUSE = 127
KEYCODE_MEDIA_PLAY = 126
KEYCODE_MEDIA_PLAY_PAUSE = 85
KEYCODE_MEDIA_PREVIOUS = 88
KEYCODE_MEDIA_RECORD = 130
KEYCODE_MEDIA_REWIND = 89
KEYCODE_MEDIA_SKIP_BACKWARD = 273
KEYCODE_MEDIA_SKIP_FORWARD = 272
KEYCODE_MEDIA_STEP_BACKWARD = 275
KEYCODE_MEDIA_STEP_FORWARD = 274
KEYCODE_MEDIA_STOP = 86
KEYCODE_MEDIA_TOP_MENU = 226
KEYCODE_MENU = 82
KEYCODE_META_LEFT = 117
KEYCODE_META_RIGHT = 118
KEYCODE_MINUS = 69
KEYCODE_MOVE_END = 123
KEYCODE_MOVE_HOME = 122
KEYCODE_MUHENKAN = 213
KEYCODE_MUSIC = 209
KEYCODE_MUTE = 91
KEYCODE_N = 42
KEYCODE_NAVIGATE_IN = 262
KEYCODE_NAVIGATE_NEXT = 261
KEYCODE_NAVIGATE_OUT = 263
KEYCODE_NAVIGATE_PREVIOUS = 260
KEYCODE_NOTIFICATION = 83
KEYCODE_NUM = 78
KEYCODE_NUMPAD_0 = 144
KEYCODE_NUMPAD_1 = 145
KEYCODE_NUMPAD_2 = 146
KEYCODE_NUMPAD_3 = 147
KEYCODE_NUMPAD_4 = 148
KEYCODE_NUMPAD_5 = 149
KEYCODE_NUMPAD_6 = 150
KEYCODE_NUMPAD_7 = 151
KEYCODE_NUMPAD_8 = 152
KEYCODE_NUMPAD_9 = 153
KEYCODE_NUMPAD_ADD = 157
KEYCODE_NUMPAD_COMMA = 159
KEYCODE_NUMPAD_DIVIDE = 154
KEYCODE_NUMPAD_DOT = 158
KEYCODE_NUMPAD_ENTER = 160
KEYCODE_NUMPAD_EQUALS = 161
KEYCODE_NUMPAD_LEFT_PAREN = 162
KEYCODE_NUMPAD_MULTIPLY = 155
KEYCODE_NUMPAD_RIGHT_PAREN = 163
KEYCODE_NUMPAD_SUBTRACT = 156
KEYCODE_NUM_LOCK = 143
KEYCODE_O = 43
KEYCODE_P = 44
KEYCODE_PAGE_DOWN = 93
KEYCODE_PAGE_UP = 92
KEYCODE_PAIRING = 225
KEYCODE_PASTE = 279
KEYCODE_PERIOD = 56
KEYCODE_PICTSYMBOLS = 94
KEYCODE_PLUS = 81
KEYCODE_POUND = 18
KEYCODE_POWER = 26
KEYCODE_PROFILE_SWITCH = 288
KEYCODE_PROG_BLUE = 186
KEYCODE_PROG_GREEN = 184
KEYCODE_PROG_RED = 183
KEYCODE_PROG_YELLOW = 185
KEYCODE_Q = 45
KEYCODE_R = 46
KEYCODE_REFRESH = 285
KEYCODE_RIGHT_BRACKET = 72
KEYCODE_RO = 217
KEYCODE_S = 47
KEYCODE_SCROLL_LOCK = 116
KEYCODE_SEARCH = 84
KEYCODE_SEMICOLON = 74
KEYCODE_SETTINGS = 176
KEYCODE_SHIFT_LEFT = 59
KEYCODE_SHIFT_RIGHT = 60
KEYCODE_SLASH = 76
KEYCODE_SLEEP = 223
KEYCODE_SOFT_LEFT = 1
KEYCODE_SOFT_RIGHT = 2
KEYCODE_SOFT_SLEEP = 276
KEYCODE_SPACE = 62
KEYCODE_STAR = 17
KEYCODE_STB_INPUT = 180
KEYCODE_STB_POWER = 179
KEYCODE_STEM_1 = 265
KEYCODE_STEM_2 = 266
KEYCODE_STEM_3 = 267
KEYCODE_STEM_PRIMARY = 264
KEYCODE_SWITCH_CHARSET = 95
KEYCODE_SYM = 63
KEYCODE_SYSRQ = 120
KEYCODE_SYSTEM_NAVIGATION_DOWN = 281
KEYCODE_SYSTEM_NAVIGATION_LEFT = 282
KEYCODE_SYSTEM_NAVIGATION_RIGHT = 283
KEYCODE_SYSTEM_NAVIGATION_UP = 280
KEYCODE_T = 48
KEYCODE_TAB = 61
KEYCODE_THUMBS_DOWN = 287
KEYCODE_THUMBS_UP = 286
KEYCODE_TV = 170
KEYCODE_TV_ANTENNA_CABLE = 242
KEYCODE_TV_AUDIO_DESCRIPTION = 252
KEYCODE_TV_AUDIO_DESCRIPTION_MIX_DOWN = 254
KEYCODE_TV_AUDIO_DESCRIPTION_MIX_UP = 253
KEYCODE_TV_CONTENTS_MENU = 256
KEYCODE_TV_DATA_SERVICE = 230
KEYCODE_TV_INPUT = 178
KEYCODE_TV_INPUT_COMPONENT_1 = 249
KEYCODE_TV_INPUT_COMPONENT_2 = 250
KEYCODE_TV_INPUT_COMPOSITE_1 = 247
KEYCODE_TV_INPUT_COMPOSITE_2 = 248
KEYCODE_TV_INPUT_HDMI_1 = 243
KEYCODE_TV_INPUT_HDMI_2 = 244
KEYCODE_TV_INPUT_HDMI_3 = 245
KEYCODE_TV_INPUT_HDMI_4 = 246
KEYCODE_TV_INPUT_VGA_1 = 251
KEYCODE_TV_MEDIA_CONTEXT_MENU = 257
KEYCODE_TV_NETWORK = 241
KEYCODE_TV_NUMBER_ENTRY = 234
KEYCODE_TV_POWER = 177
KEYCODE_TV_RADIO_SERVICE = 232
KEYCODE_TV_SATELLITE = 237
KEYCODE_TV_SATELLITE_BS = 238
KEYCODE_TV_SATELLITE_CS = 239
KEYCODE_TV_SATELLITE_SERVICE = 240
KEYCODE_TV_TELETEXT = 233
KEYCODE_TV_TERRESTRIAL_ANALOG = 235
KEYCODE_TV_TERRESTRIAL_DIGITAL = 236
KEYCODE_TV_TIMER_PROGRAMMING = 258
KEYCODE_TV_ZOOM_MODE = 255
KEYCODE_U = 49
KEYCODE_UNKNOWN = 0
KEYCODE_V = 50
KEYCODE_VOICE_ASSIST = 231
KEYCODE_VOLUME_DOWN = 25
KEYCODE_VOLUME_MUTE = 164
KEYCODE_VOLUME_UP = 24
KEYCODE_W = 51
KEYCODE_WAKEUP = 224
KEYCODE_WINDOW = 171
KEYCODE_X = 52
KEYCODE_Y = 53
KEYCODE_YEN = 216
KEYCODE_Z = 54
KEYCODE_ZENKAKU_HANKAKU = 211
KEYCODE_ZOOM_IN = 168
KEYCODE_ZOOM_OUT = 169

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/index.html b/docs/index.html new file mode 100644 index 00000000..e32866ff --- /dev/null +++ b/docs/index.html @@ -0,0 +1,1176 @@ +@devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

@devicefarmer/adbkit

+ +

adbkit

+
+

adbkit is a pure Node.js client for the Android Debug Bridge server. It can be used either as a library in your own application, or simply as a convenient utility for playing with your device.

+

Most of the adb command line tool's functionality is supported (including pushing/pulling files, installing APKs and processing logs), with some added functionality such as being able to generate touch/key events and take screenshots. Some shims are provided for older devices, but we have not and will not test anything below Android 2.3.

+

Internally, we use this library to drive a multitude of Android devices from a variety of manufacturers, so we can say with a fairly high degree of confidence that it will most likely work with your device(s), too.

+ + +

Requirements

+
+
    +
  • Node.js >= 0.10
  • +
  • The adb command line tool
  • +
+

Please note that although it may happen at some point, this project is NOT an implementation of the ADB server. The target host (where the devices are connected) must still have ADB installed and either already running (e.g. via adb start-server) or available in $PATH. An attempt will be made to start the server locally via the aforementioned command if the initial connection fails. This is the only case where we fall back to the adb binary.

+

When targeting a remote host, starting the server is entirely your responsibility.

+

Alternatively, you may want to consider using the Chrome ADB extension, as it includes the ADB server and can be started/stopped quite easily.

+

For Linux users, adb need plugdev group acess, So you may need to add your current user to plugdev group. +sudo usermod -a -G plugdev $USER

+ + +

Getting started

+
+

Install via NPM:

+
npm install --save @devicefarmer/adbkit
+
+

We use debug, and our debug namespace is adb. Some of the dependencies may provide debug output of their own. To see the debug output, set the DEBUG environment variable. For example, run your program with DEBUG=adb:* node app.js.

+ + +

Examples

+
+

The examples may be a bit verbose, but that's because we're trying to keep them as close to real-life code as possible, with flow control and error handling taken care of.

+ + +

Checking for NFC support

+
+
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';

const client = Adb.createClient();

const test = async () => {
try {
const devices = await client.listDevices();
const supportedDevices = await Bluebird.filter(devices, async (device) => {
const features = await client.getFeatures(device.id);
return features['android.hardware.nfc'];
});
console.log('The following devices support NFC:', supportedDevices);
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

Installing an APK

+
+
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';

const client = Adb.createClient();
const apk = 'vendor/app.apk';

const test = async () => {
try {
const devices = await client.listDevices();
await Bluebird.map(devices, (device) => client.install(device.id, apk));
console.log(`Installed ${apk} on all connected devices`);
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

Tracking devices

+
+
import Adb from '@devicefarmer/adbkit';

const client = Adb.createClient();
const test = async () => {
try {
const tracker = await client.trackDevices();
tracker.on('add', (device) => console.log('Device %s was plugged in', device.id));
tracker.on('remove', (device) => console.log('Device %s was unplugged', device.id));
tracker.on('end', () => console.log('Tracking stopped'));
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

Pulling a file from all connected devices

+
+
import Bluebird from 'bluebird';
import fs from 'fs';
import Adb from '@devicefarmer/adbkit';
const client = Adb.createClient();

const test = async () => {
try {
const devices = await client.listDevices();
await Bluebird.map(devices, async (device) => {
const transfer = await client.pull(device.id, '/system/build.prop');
const fn = `/tmp/${device.id}.build.prop`;
await new Bluebird((resolve, reject) => {
transfer.on('progress', (stats) =>
console.log(`[${device.id}] Pulled ${stats.bytesTransferred} bytes so far`),
);
transfer.on('end', () => {
console.log(`[${device.id}] Pull complete`);
resolve(device.id);
});
transfer.on('error', reject);
transfer.pipe(fs.createWriteStream(fn));
});
});
console.log('Done pulling /system/build.prop from all connected devices');
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

Pushing a file to all connected devices

+
+
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';
const client = Adb.createClient();

const test = async () => {
try {
const devices = await client.listDevices();
await Bluebird.map(devices, async (device) => {
const transfer = await client.push(device.id, 'temp/foo.txt', '/data/local/tmp/foo.txt');
await new Bluebird(function (resolve, reject) {
transfer.on('progress', (stats) =>
console.log(`[${device.id}] Pushed ${stats.bytesTransferred} bytes so far`),
);
transfer.on('end', () => {
console.log('[${device.id}] Push complete');
resolve();
});
transfer.on('error', reject);
});
});
console.log('Done pushing foo.txt to all connected devices');
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

List files in a folder

+
+
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';
const client = Adb.createClient();

const test = async () => {
try {
const devices = await client.listDevices();
await Bluebird.map(devices, async (device) => {
const files = await client.readdir(device.id, '/sdcard');
// Synchronous, so we don't have to care about returning at the
// right time
files.forEach((file) => {
if (file.isFile()) {
console.log(`[${device.id}] Found file "${file.name}"`);
}
});
});
console.log('Done checking /sdcard files on connected devices');
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

API

+
+ + +

ADB

+
+ + +

adb.createClient([options])

+
+

Creates a client instance with the provided options. Note that this will not automatically establish a connection, it will only be done when necessary.

+
    +
  • options An object compatible with Net.connect's options:
      +
    • port The port where the ADB server is listening. Defaults to 5037.
    • +
    • host The host of the ADB server. Defaults to '127.0.0.1'.
    • +
    • bin As the sole exception, this option provides the path to the adb binary, used for starting the server locally if initial connection fails. Defaults to 'adb'.
    • +
    +
  • +
  • Returns: The client instance.
  • +
+ + +

adb.util.parsePublicKey(androidKey)

+
+

Parses an Android-formatted mincrypt public key (e.g. ~/.android/adbkey.pub).

+
    +
  • androidKey The key String or Buffer to parse. Not a filename.
  • +
  • callback(err, output) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • key The key as a forge.pki public key. You may need node-forge for complicated operations. Additionally the following properties are present:
        +
      • fingerprint The key fingerprint, like it would display on a device. Note that this is different than the one you'd get from forge.ssh.getPublicKeyFingerprint(key), because the device fingerprint is based on the original format.
      • +
      • comment The key comment, if any.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: key (see callback)
  • +
+ + +

adb.util.readAll(stream)

+
+

Takes a Stream and reads everything it outputs until the stream ends. Then it resolves with the collected output. Convenient with client.shell().

+
    +
  • stream The Stream to read.
  • +
  • callback(err, output) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • output All the output as a Buffer. Use output.toString('utf-8') to get a readable string from it.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: output (see callback)
  • +
+ + +

Client

+
+ + +

client.version()

+
+

Queries the ADB server for its version. This is mainly useful for backwards-compatibility purposes.

+
    +
  • callback(err, version) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • version The version of the ADB server.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: version (see callback)
  • +
+ + +

client.connect(host[, port])

+
+

Connects to the given device, which must have its ADB daemon running in tcp mode (see client.tcpip()) and be accessible on the same network. Same as adb connect <host>:<port>.

+
    +
  • host The target host. Can also contain the port, in which case the port argument is not used and can be skipped.
  • +
  • port Optional. The target port. Defaults to 5555.
  • +
  • callback(err, id) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • id The connected device ID. Can be used as serial in other commands.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: id (see callback)
  • +
+ + +
Example - switch to TCP mode and set up a forward for Chrome devtools
+
+

Note: be careful with using client.listDevices() together with client.tcpip() and other similar methods that modify the connection with ADB. You might have the same device twice in your device list (i.e. one device connected via both USB and TCP), which can cause havoc if run simultaneously.

+
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';
const client = Adb.createClient();

const test = async () => {
try {
const devices = await client.listDevices();
await Bluebird.map(devices, async (device) => {
const device = client.getDevice(device.id);
const port = await device.tcpip();
// Switching to TCP mode causes ADB to lose the device for a
// moment, so let's just wait till we get it back.
await device.waitForDevice();
const ip = await device.getDHCPIpAddress();
const deviceTCP = await client.connect(ip, port);
// It can take a moment for the connection to happen.
await deviceTCP.waitForDevice();
await deviceTCP.forward('tcp:9222', 'localabstract:chrome_devtools_remote');
console.log(`Setup devtools on "${id}"`);
});
} catch (err) {
console.error('Something went wrong:', err.stack);
}
}; +
+ + +

client.disconnect(host[, port])

+
+

Disconnects from the given device, which should have been connected via client.connect() or just adb connect <host>:<port>.

+
    +
  • host The target host. Can also contain the port, in which case the port argument is not used and can be skipped. In other words you can just put the id you got from client.connect() here and it will be fine.
  • +
  • port Optional. The target port. Defaults to 5555.
  • +
  • callback(err, id) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • id The disconnected device ID. Will no longer be usable as a serial in other commands until you've connected again.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: id (see callback)
  • +
+ + +

client.kill()

+
+

This kills the ADB server. Note that the next connection will attempt to start the server again when it's unable to connect.

+
    +
  • Returns: Promise<true>
  • +
  • Resolves with: true
  • +
+ + +

client.listDevices()

+
+

Gets the list of currently connected devices and emulators.

+
    +
  • Returns: Promise<devices> An array of device objects. The device objects are plain JavaScript objects with two properties: id and type.
      +
    • id The ID of the device. For real devices, this is usually the USB identifier.
    • +
    • type The device type. Values include 'emulator' for emulators, 'device' for devices, and 'offline' for offline devices. 'offline' can occur for example during boot, in low-battery conditions or when the ADB connection has not yet been approved on the device.- Resolves with: devices (see callback)
    • +
    +
  • +
+ + +

client.listDevicesWithPaths()

+
+

Like client.listDevices(), but includes the "path" of every device.

+
    +
  • Returns: Promise<devices> An array of device objects. The device objects are plain JavaScript objects with the following properties:
      +
    • id See client.listDevices().
    • +
    • type See client.listDevices().
    • +
    • path The device path. This can be something like usb:FD120000 for real devices.
    • +
    +
  • +
+ + +

client.trackDevices()

+
+

Gets a device tracker. Events will be emitted when devices are added, removed, or their type changes (i.e. to/from offline). Note that the same events will be emitted for the initially connected devices also, so that you don't need to use both client.listDevices() and client.trackDevices().

+

Note that as the tracker will keep a connection open, you must call tracker.end() if you wish to stop tracking devices.

+
    +
  • callback(err, tracker) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • tracker The device tracker, which is an EventEmitter. The following events are available:
        +
      • add (device) Emitted when a new device is connected, once per device. See client.listDevices() for details on the device object.
      • +
      • remove (device) Emitted when a device is unplugged, once per device. This does not include offline devices, those devices are connected but unavailable to ADB. See client.listDevices() for details on the device object.
      • +
      • change (device) Emitted when the type property of a device changes, once per device. The current value of type is the new value. This event usually occurs the type changes from 'device' to 'offline' or the other way around. See client.listDevices() for details on the device object and the 'offline' type.
      • +
      • changeSet (changes) Emitted once for all changes reported by ADB in a single run. Multiple changes can occur when, for example, a USB hub is connected/unplugged and the device list changes quickly. If you wish to process all changes at once, use this event instead of the once-per-device ones. Keep in mind that the other events will still be emitted, though.
          +
        • changes An object with the following properties always present:
            +
          • added An array of added device objects, each one as in the add event. Empty if none.
          • +
          • removed An array of removed device objects, each one as in the remove event. Empty if none.
          • +
          • changed An array of changed device objects, each one as in the change event. Empty if none.
          • +
          +
        • +
        +
      • +
      • end Emitted when the underlying connection ends.
      • +
      • error (err) Emitted if there's an error.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: tracker (see callback)
  • +
+ + +

DeviceClient

+
+ + +

device.clear(pkg)

+
+

Deletes all data associated with a package from the device. This is roughly analogous to adb shell pm clear <pkg>.

+
    +
  • pkg The package name. This is NOT the APK.
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.forward(local, remote)

+
+

Forwards socket connections from the ADB server host (local) to the device (remote). This is analogous to adb forward <local> <remote>. It's important to note that if you are connected to a remote ADB server, the forward will be created on that host.

+
    +
  • local A string representing the local endpoint on the ADB host. At time of writing, can be one of:
      +
    • tcp:<port>
    • +
    • localabstract:<unix domain socket name>
    • +
    • localreserved:<unix domain socket name>
    • +
    • localfilesystem:<unix domain socket name>
    • +
    • dev:<character device name>
    • +
    +
  • +
  • remote A string representing the remote endpoint on the device. At time of writing, can be one of:
      +
    • Any value accepted by the local argument
    • +
    • jdwp:<process pid>
    • +
    +
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.framebuffer([format])

+
+

Fetches the current raw framebuffer (i.e. what is visible on the screen) from the device, and optionally converts it into something more usable by using GraphicsMagick's gm command, which must be available in $PATH if conversion is desired. Note that we don't bother supporting really old framebuffer formats such as RGB_565. If for some mysterious reason you happen to run into a >=2.3 device that uses RGB_565, let us know.

+

Note that high-resolution devices can have quite massive framebuffers. For example, a device with a resolution of 1920x1080 and 32 bit colors would have a roughly 8MB (1920*1080*4 byte) RGBA framebuffer. Empirical tests point to about 5MB/s bandwidth limit for the ADB USB connection, which means that it can take ~1.6 seconds for the raw data to arrive, or even more if the USB connection is already congested. Using a conversion will further slow down completion.

+
    +
  • format The desired output format. Any output format supported by GraphicsMagick (such as 'png') is supported. Defaults to 'raw' for raw framebuffer data.
  • +
  • callback(err, framebuffer) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • framebuffer The possibly converted framebuffer stream. The stream also has a meta property with the following values:
        +
      • version The framebuffer version. Useful for patching possible backwards-compatibility issues.
      • +
      • bpp Bits per pixel (i.e. color depth).
      • +
      • size The raw byte size of the framebuffer.
      • +
      • width The horizontal resolution of the framebuffer. This SHOULD always be the same as screen width. We have not encountered any device with incorrect framebuffer metadata, but according to rumors there might be some.
      • +
      • height The vertical resolution of the framebuffer. This SHOULD always be the same as screen height.
      • +
      • red_offset The bit offset of the red color in a pixel.
      • +
      • red_length The bit length of the red color in a pixel.
      • +
      • blue_offset The bit offset of the blue color in a pixel.
      • +
      • blue_length The bit length of the blue color in a pixel.
      • +
      • green_offset The bit offset of the green color in a pixel.
      • +
      • green_length The bit length of the green color in a pixel.
      • +
      • alpha_offset The bit offset of alpha in a pixel.
      • +
      • alpha_length The bit length of alpha in a pixel. 0 when not available.
      • +
      • format The framebuffer format for convenience. This can be one of 'bgr', 'bgra', 'rgb', 'rgba'.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: framebuffer (see callback)
  • +
+ + +

device.getDevicePath()

+
+

Gets the device path of the device identified by the given serial number.

+
    +
  • callback(err, path) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • path The device path. This corresponds to the device path in client.listDevicesWithPaths().
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: path (see callback)
  • +
+ + +

device.getDHCPIpAddress([iface])

+
+

Attemps to retrieve the IP address of the device. Roughly analogous to adb shell getprop dhcp.<iface>.ipaddress.

+
    +
  • iface Optional. The network interface. Defaults to 'wlan0'.
  • +
  • callback(err, ip) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • ip The IP address as a String.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: ip (see callback)
  • +
+ + +

device.getFeatures()

+
+

Retrieves the features of the device identified by the given serial number. This is analogous to adb shell pm list features. Useful for checking whether hardware features such as NFC are available (you'd check for 'android.hardware.nfc').

+

flags Flags to pass to the pm list packages command to filter the list

+
-d: filter to only show disabled packages
-e: filter to only show enabled packages
-s: filter to only show system packages
-3: filter to only show third party packages +
+
    +
  • callback(err, features) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • features An object of device features. Each key corresponds to a device feature, with the value being either true for a boolean feature, or the feature value as a string (e.g. '0x20000' for reqGlEsVersion).
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: features (see callback)
  • +
+ + +

device.getPackages()

+
+

Retrieves the list of packages present on the device. This is analogous to adb shell pm list packages. If you just want to see if something's installed, consider using client.isInstalled() instead.

+
    +
  • callback(err, packages) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • packages An array of package names.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: packages (see callback)
  • +
+ + +

device.getProperties()

+
+

Retrieves the properties of the device identified by the given serial number. This is analogous to adb shell getprop.

+
    +
  • callback(err, properties) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • properties An object of device properties. Each key corresponds to a device property. Convenient for accessing things like 'ro.product.model'.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: properties (see callback)
  • +
+ + +

device.getSerialNo()

+
+

Gets the serial number of the device identified by the given serial number. With our API this doesn't really make much sense, but it has been implemented for completeness. FYI: in the raw ADB protocol you can specify a device in other ways, too.

+
    +
  • callback(err, serial) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • serial The serial number of the device.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: serial (see callback)
  • +
+ + +

device.getState()

+
+

Gets the state of the device identified by the given serial number.

+
    +
  • callback(err, state) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • state The device state. This corresponds to the device type in client.listDevices().
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: state (see callback)
  • +
+ + +

device.install(apk)

+
+

Installs the APK on the device, replacing any previously installed version. This is roughly analogous to adb install -r <apk>.

+

Note that if the call seems to stall, you may have to accept a dialog on the phone first.

+
    +
  • apk When String, interpreted as a path to an APK file. When Stream, installs directly from the stream, which must be a valid APK.
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise. It may have a .code property containing the error code reported by the device.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +
Example - install an APK from a URL
+
+

This example requires the request module. It also doesn't do any error handling (404 responses, timeouts, invalid URLs etc).

+
import Adb from '@devicefarmer/adbkit';
import request from 'request';
import { Readable } from 'stream';

const client = Adb.createClient();

const test = async () => {
// The request module implements old-style streams, so we have to wrap it.
try {
// request is deprecated
const device = client.getClient('<serial>');
await device.install(new Readable().wrap(request('http://example.org/app.apk') as any) as any)
console.log('Installed')
} catch (err) {
console.error('Something went wrong:', err.stack)
}
} +
+ + +

device.installRemote(apk)

+
+

Installs an APK file which must already be located on the device file system, and replaces any previously installed version. Useful if you've previously pushed the file to the device for some reason (perhaps to have direct access to client.push()'s transfer stats). This is roughly analogous to adb shell pm install -r <apk> followed by adb shell rm -f <apk>.

+

Note that if the call seems to stall, you may have to accept a dialog on the phone first.

+
    +
  • apk The path to the APK file on the device. The file will be removed when the command completes.
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.isInstalled(pkg)

+
+

Tells you if the specific package is installed or not. This is analogous to adb shell pm path <pkg> and some output parsing.

+
    +
  • pkg The package name. This is NOT the APK.
  • +
  • callback(err, installed) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • installed true if the package is installed, false otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: installed (see callback)
  • +
+ + +

device.listForwards()

+
+

Lists forwarded connections on the device. This is analogous to adb forward --list.

+
    +
  • callback(err, forwards) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • forwards An array of forward objects with the following properties:
        +
      • serial The device serial.
      • +
      • local The local endpoint. Same format as client.forward()'s local argument.
      • +
      • remote The remote endpoint on the device. Same format as client.forward()'s remote argument.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: forwards (see callback)
  • +
+ + +

device.listReverses()

+
+

Lists forwarded connections on the device. This is analogous to adb reverse --list.

+
    +
  • callback(err, forwards) Optional. Use this or the returned Promise.

    +
      +
    • err null when successful, Error otherwise.
    • +
    • reverses An array of reverse objects with the following properties:
        +
      • remote The remote endpoint on the device. Same format as client.reverse()'s remote argument.
      • +
      • local The local endpoint on the host. Same format as client.reverse()'s local argument.
      • +
      +
    • +
    +
  • +
  • Returns: Promise

    +
  • +
  • Resolves with: reverses (see callback)

    +
  • +
+ + +

device.openLocal(path)

+
+

Opens a direct connection to a unix domain socket in the given path.

+
    +
  • path The path to the socket. Prefixed with 'localfilesystem:' by default, include another prefix (e.g. 'localabstract:') in the path to override.
  • +
  • callback(err, conn) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • conn The connection (i.e. net.Socket). Read and write as you please. Call conn.end() to end the connection.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: conn (see callback)
  • +
+ + +

device.openLog(name)

+
+

Opens a direct connection to a binary log file, providing access to the raw log data. Note that it is usually much more convenient to use the client.openLogcat() method, described separately.

+
    +
  • name The name of the log. Available logs include 'main', 'system', 'radio' and 'events'.
  • +
  • callback(err, log) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • log The binary log stream. Call log.end() when you wish to stop receiving data.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: log (see callback)
  • +
+ + +

device.openLogcat([options])

+
+

Calls the logcat utility on the device and hands off the connection to adbkit-logcat, a pure Node.js Logcat client. This is analogous to adb logcat -B, but the event stream will be parsed for you and a separate event will be emitted for every log entry, allowing for easy processing.

+

For more information, check out the adbkit-logcat documentation.

+
    +
  • options Optional. The following options are supported:
      +
    • clear When true, clears logcat before opening the reader. Not set by default.
    • +
    +
  • +
  • callback(err, logcat) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • logcat The Logcat client. Please see the adbkit-logcat documentation for details.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: logcat (see callback)
  • +
+ + +

device.openMonkey([port])

+
+

Starts the built-in monkey utility on the device, connects to it using client.openTcp() and hands the connection to adbkit-monkey, a pure Node.js Monkey client. This allows you to create touch and key events, among other things.

+

For more information, check out the adbkit-monkey documentation.

+
    +
  • port Optional. The device port where you'd like Monkey to run at. Defaults to 1080.
  • +
  • callback(err, monkey) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • monkey The Monkey client. Please see the adbkit-monkey documentation for details.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: monkey (see callback)
  • +
+ + +

device.openProcStat()

+
+

Tracks /proc/stat and emits useful information, such as CPU load. A single sync service instance is used to download the /proc/stat file for processing. While doing this does consume some resources, it is very light and should not be a problem.

+
    +
  • callback(err, stats) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • stats The /proc/stat tracker, which is an EventEmitter. Call stat.end() to stop tracking. The following events are available:
        +
      • load (loads) Emitted when a CPU load calculation is available.
          +
        • loads CPU loads of online CPUs. Each key is a CPU id (e.g. 'cpu0', 'cpu1') and the value an object with the following properties:
            +
          • user Percentage (0-100) of ticks spent on user programs.
          • +
          • nice Percentage (0-100) of ticks spent on niced user programs.
          • +
          • system Percentage (0-100) of ticks spent on system programs.
          • +
          • idle Percentage (0-100) of ticks spent idling.
          • +
          • iowait Percentage (0-100) of ticks spent waiting for IO.
          • +
          • irq Percentage (0-100) of ticks spent on hardware interrupts.
          • +
          • softirq Percentage (0-100) of ticks spent on software interrupts.
          • +
          • steal Percentage (0-100) of ticks stolen by others.
          • +
          • guest Percentage (0-100) of ticks spent by a guest.
          • +
          • guestnice Percentage (0-100) of ticks spent by a niced guest.
          • +
          • total Total. Always 100.
          • +
          +
        • +
        +
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: stats (see callback)
  • +
+ + +

device.openTcp(port[, host])

+
+

Opens a direct TCP connection to a port on the device, without any port forwarding required.

+
    +
  • port The port number to connect to.
  • +
  • host Optional. The host to connect to. Allegedly this is supposed to establish a connection to the given host from the device, but we have not been able to get it to work at all. Skip the host and everything works great.
  • +
  • callback(err, conn) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • conn The TCP connection (i.e. net.Socket). Read and write as you please. Call conn.end() to end the connection.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: conn (see callback)
  • +
+ + +

device.pull(path)

+
+

A convenience shortcut for sync.pull(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

+
    +
  • path See sync.pull() for details.
  • +
  • callback(err, transfer) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • transfer A PullTransfer instance (see below)
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: transfer (see callback)
  • +
+ + +

device.push(contents, path[, mode])

+
+

A convenience shortcut for sync.push(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

+
    +
  • contents See sync.push() for details.
  • +
  • path See sync.push() for details.
  • +
  • mode See sync.push() for details.
  • +
  • callback(err, transfer) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • transfer A PushTransfer instance (see below)
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: transfer (see callback)
  • +
+ + +

device.readdir(path)

+
+

A convenience shortcut for sync.readdir(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

+
    +
  • path See sync.readdir() for details.
  • +
  • callback(err, files) Optional. Use this or the returned Promise. See sync.readdir() for details.
  • +
  • Returns: Promise
  • +
  • Resolves with: See sync.readdir() for details.
  • +
+ + +

device.reboot()

+
+

Reboots the device. Similar to adb reboot. Note that the method resolves when ADB reports that the device has been rebooted (i.e. the reboot command was successful), not when the device becomes available again.

+
    +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.remount()

+
+

Attempts to remount the /system partition in read-write mode. This will usually only work on emulators and developer devices.

+
    +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.reverse(remote, local)

+
+

Reverses socket connections from the device (remote) to the ADB server host (local). This is analogous to adb reverse <remote> <local>. It's important to note that if you are connected to a remote ADB server, the reverse will be created on that host.

+
    +
  • remote A string representing the remote endpoint on the device. At time of writing, can be one of:
      +
    • tcp:<port>
    • +
    • localabstract:<unix domain socket name>
    • +
    • localreserved:<unix domain socket name>
    • +
    • localfilesystem:<unix domain socket name>
    • +
    +
  • +
  • local A string representing the local endpoint on the ADB host. At time of writing, can be any value accepted by the remote argument.
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.root()

+
+

Puts the device into root mode which may be needed by certain shell commands. A remount is generally required after a successful root call. Note that this will only work if your device supports this feature. Production devices almost never do.

+
    +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.screencap()

+
+

Takes a screenshot in PNG format using the built-in screencap utility. This is analogous to adb shell screencap -p. Sadly, the utility is not available on most Android <=2.3 devices, but a silent fallback to the client.framebuffer() command in PNG mode is attempted, so you should have its dependencies installed just in case.

+

Generating the PNG on the device naturally requires considerably more processing time on that side. However, as the data transferred over USB easily decreases by ~95%, and no conversion being required on the host, this method is usually several times faster than using the framebuffer. Naturally, this benefit does not apply if we're forced to fall back to the framebuffer.

+

For convenience purposes, if the screencap command fails (e.g. because it doesn't exist on older Androids), we fall back to client.framebuffer(serial, 'png'), which is slower and has additional installation requirements.

+
    +
  • callback(err, screencap) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • screencap The PNG stream.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: screencap (see callback)
  • +
+ + +

device.shell(command)

+
+

Runs a shell command on the device. Note that you'll be limited to the permissions of the shell user, which ADB uses.

+
    +
  • command The shell command to execute. When String, the command is run as-is. When Array, the elements will be rudimentarily escaped (for convenience, not security) and joined to form a command.
  • +
  • callback(err, conn) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • conn A readable stream (Socket actually) containing the progressive stdout of the command. Use with adb.util.readAll to get a readable String from it.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: conn (see callback)
  • +
+ + +
Example
+
+
    +
  • Read the output of an instantaneous command +```typescript +import Bluebird from 'bluebird'; +import Adb from '@devicefarmer/adbkit';
  • +
+

const client = Adb.createClient();

+

client + .listDevices() + .then(function (devices) { + return Promise.map(devices, function (device) { + const device = client.getDevice(device.id); + return ( + device + .shell('echo $RANDOM') + // Use the readAll() utility to read all the content without + // having to deal with the readable stream. output will be a Buffer + // containing all the output. + .then(adb.util.readAll) + .then(function (output) { + console.log('[%s] %s', device.id, output.toString().trim()); + }) + ); + }); + }) + .then(function () { + console.log('Done.'); + }) + .catch(function (err) { + console.error('Something went wrong:', err.stack); + });

+

* Progressively read the output of a long-running command and terminate it
```typescript
import Bluebird from 'bluebird';
import Adb from '@devicefarmer/adbkit';

const client = Adb.createClient();
client.listDevices()
.then(function(devices) {
return Bluebird.map(devices, function(device) {
const device = client.getDevice(device.id);
return device.shell('logcat') // logcat just for illustration,
// prefer client.openLogcat in real use
.then(function(conn) {
var line = 0
conn.on('data', function(data) {
// here `ps` on the device shows the running logcat process
console.log(data.toString())
line += 1
// close the stream and the running process
// on the device will be gone, gracefully
if (line > 100) conn.end()
});
conn.on('close', function() {
// here `ps` on the device shows the logcat process is gone
console.log('100 lines read already, bye')
})
})
})
})
.then(function() {
console.log('Done.')
})
.catch(function(err) {
console.error('Something went wrong:', err.stack)
}) +
+ + +

device.startActivity(options)

+
+

Starts the configured activity on the device. Roughly analogous to adb shell am start <options>.

+
    +
  • options The activity configuration. The following options are available:
      +
    • debug Set to true to enable debugging.
    • +
    • wait Set to true to wait for the activity to launch.
    • +
    • user The user to run as. Not set by default. If the option is unsupported by the device, an attempt will be made to run the same command again without the user option.
    • +
    • action The action.
    • +
    • data The data URI, if any.
    • +
    • mimeType The mime type, if any.
    • +
    • category The category. For multiple categories, pass an Array.
    • +
    • component The component.
    • +
    • flags Numeric flags.
    • +
    • extras Any extra data.
        +
      • When an Array, each item must be an Object the following properties:
          +
        • key The key name.
        • +
        • type The type, which can be one of 'string', 'null', 'bool', 'int', 'long', 'float', 'uri', 'component'.
        • +
        • value The value. Optional and unused if type is 'null'. If an Array, type is automatically set to be an array of <type>.
        • +
        +
      • +
      • When an Object, each key is treated as the key name. Simple values like null, String, Boolean and Number are type-mapped automatically (Number maps to 'int') and can be used as-is. For more complex types, like arrays and URIs, set the value to be an Object like in the Array syntax (see above), but leave out the key property.
      • +
      +
    • +
    +
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.startService(options)

+
+

Starts the configured service on the device. Roughly analogous to adb shell am startservice <options>.

+
    +
  • options The service configuration. The following options are available:
      +
    • user The user to run as. Defaults to 0. If the option is unsupported by the device, an attempt will be made to run the same command again without the user option.
    • +
    • action See client.startActivity() for details.
    • +
    • data See client.startActivity() for details.
    • +
    • mimeType See client.startActivity() for details.
    • +
    • category See client.startActivity() for details.
    • +
    • component See client.startActivity() for details.
    • +
    • flags See client.startActivity() for details.
    • +
    • extras See client.startActivity() for details.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.stat(path)

+
+

A convenience shortcut for sync.stat(), mainly for one-off use cases. The connection cannot be reused, resulting in poorer performance over multiple calls. However, the Sync client will be closed automatically for you, so that's one less thing to worry about.

+
    +
  • path See sync.stat() for details.
  • +
  • callback(err, stats) Optional. Use this or the returned Promise. See sync.stat() for details.
  • +
  • Returns: Promise
  • +
  • Resolves with: See sync.stat() for details.
  • +
+ + +

device.syncService()

+
+

Establishes a new Sync connection that can be used to push and pull files. This method provides the most freedom and the best performance for repeated use, but can be a bit cumbersome to use. For simple use cases, consider using client.stat(), client.push() and client.pull().

+
    +
  • callback(err, sync) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • sync The Sync client. See below for details. Call sync.end() when done.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: sync (see callback)
  • +
+ + +

device.tcpip(port)

+
+

Puts the device's ADB daemon into tcp mode, allowing you to use adb connect or client.connect() to connect to it. Note that the device will still be visible to ADB as a regular USB-connected device until you unplug it. Same as adb tcpip <port>.

+
    +
  • port Optional. The port the device should listen on. Defaults to 5555.
  • +
  • callback(err, port) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • port The port the device started listening on.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: port (see callback)
  • +
+ + +

device.trackJdwp()

+
+

Starts a JDWP tracker for the given device.

+

Note that as the tracker will keep a connection open, you must call tracker.end() if you wish to stop tracking JDWP processes.

+
    +
  • callback(err, tracker) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • tracker The JDWP tracker, which is an EventEmitter. The following events are available:
        +
      • add (pid) Emitted when a new JDWP process becomes available, once per pid.
      • +
      • remove (pid) Emitted when a JDWP process becomes unavailable, once per pid.
      • +
      • changeSet (changes, pids) All changes in a single event.
          +
        • changes An object with the following properties always present:
            +
          • added An array of pids that were added. Empty if none.
          • +
          • removed An array of pids that were removed. Empty if none.
          • +
          +
        • +
        • pids All currently active pids (including pids from previous runs).
        • +
        +
      • +
      • end Emitted when the underlying connection ends.
      • +
      • error (err) Emitted if there's an error.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: tracker (see callback)
  • +
+ + +

device.uninstall(pkg)

+
+

Uninstalls the package from the device. This is roughly analogous to adb uninstall <pkg>.

+
    +
  • pkg The package name. This is NOT the APK.
  • +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.usb()

+
+

Puts the device's ADB daemon back into USB mode. Reverses client.tcpip(). Same as adb usb.

+
    +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.waitBootComplete()

+
+

Waits until the device has finished booting. Note that the device must already be seen by ADB. This is roughly analogous to periodically checking adb shell getprop sys.boot_completed.

+
    +
  • callback(err) Optional. Use this or the returned Promise.
      +
    • err null if the device has completed booting, Error otherwise (can occur if the connection dies while checking).
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: true
  • +
+ + +

device.waitForDevice()

+
+

Waits until ADB can see the device. Note that you must know the serial in advance. Other than that, works like adb -s serial wait-for-device. If you're planning on reacting to random devices being plugged in and out, consider using client.trackDevices() instead.

+
    +
  • callback(err, id) Optional. Use this or the returned Promise.
      +
    • err null if the device has completed booting, Error otherwise (can occur if the connection dies while checking).
    • +
    • id The device ID. Can be useful for chaining.
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: id (see callback)
  • +
+ + +

Sync

+
+ + +

sync.end()

+
+

Closes the Sync connection, allowing Node to quit (assuming nothing else is keeping it alive, of course).

+
    +
  • Returns: The sync instance.
  • +
+ + +

sync.pull(path)

+
+

Pulls a file from the device as a PullTransfer Stream.

+
    +
  • path The path to pull from.
  • +
  • Returns: A PullTransfer instance. See below for details.
  • +
+ + +

sync.push(contents, path[, mode])

+
+

Attempts to identify contents and calls the appropriate push* method for it.

+
    +
  • contents When String, treated as a local file path and forwarded to sync.pushFile(). Otherwise, treated as a Stream and forwarded to sync.pushStream().
  • +
  • path The path to push to.
  • +
  • mode Optional. The mode of the file. Defaults to 0644.
  • +
  • Returns: A PushTransfer instance. See below for details.
  • +
+ + +

sync.pushFile(file, path[, mode])

+
+

Pushes a local file to the given path. Note that the path must be writable by the ADB user (usually shell). When in doubt, use '/data/local/tmp' with an appropriate filename.

+
    +
  • file The local file path.
  • +
  • path See sync.push() for details.
  • +
  • mode See sync.push() for details.
  • +
  • Returns: See sync.push() for details.
  • +
+ + +

sync.pushStream(stream, path[, mode])

+
+

Pushes a Stream to the given path. Note that the path must be writable by the ADB user (usually shell). When in doubt, use '/data/local/tmp' with an appropriate filename.

+
    +
  • stream The readable stream.
  • +
  • path See sync.push() for details.
  • +
  • mode See sync.push() for details.
  • +
  • Returns: See sync.push() for details.
  • +
+ + +

sync.readdir(path)

+
+

Retrieves a list of directory entries (e.g. files) in the given path, not including the . and .. entries, just like fs.readdir. If given a non-directory path, no entries are returned.

+
    +
  • path The path.
  • +
  • callback(err, files) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • files An Array of fs.Stats-compatible instances. While the stats.is* methods are available, only the following properties are supported (in addition to the name field which contains the filename):
        +
      • name The filename.
      • +
      • mode The raw mode.
      • +
      • size The file size.
      • +
      • mtime The time of last modification as a Date.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: files (see callback)
  • +
+ + +

sync.stat(path)

+
+

Retrieves information about the given path.

+
    +
  • path The path.
  • +
  • callback(err, stats) Optional. Use this or the returned Promise.
      +
    • err null when successful, Error otherwise.
    • +
    • stats An fs.Stats instance. While the stats.is* methods are available, only the following properties are supported:
        +
      • mode The raw mode.
      • +
      • size The file size.
      • +
      • mtime The time of last modification as a Date.
      • +
      +
    • +
    +
  • +
  • Returns: Promise
  • +
  • Resolves with: stats (see callback)
  • +
+ + +

sync.tempFile(path)

+
+

A simple helper method for creating appropriate temporary filenames for pushing files. This is essentially the same as taking the basename of the file and appending it to '/data/local/tmp/'.

+
    +
  • path The path of the file.
  • +
  • Returns: An appropriate temporary file path.
  • +
+ + +

PushTransfer

+
+

A simple EventEmitter, mainly for keeping track of the progress.

+

List of events:

+
    +
  • progress (stats) Emitted when a chunk has been flushed to the ADB connection.
      +
    • stats An object with the following stats about the transfer:
        +
      • bytesTransferred The number of bytes transferred so far.
      • +
      +
    • +
    +
  • +
  • error (err) Emitted on error.
      +
    • err An Error.
    • +
    +
  • +
  • end Emitted when the transfer has successfully completed.
  • +
+ + +

pushTransfer.cancel()

+
+

Cancels the transfer by ending both the stream that is being pushed and the sync connection. This will most likely end up creating a broken file on your device. Use at your own risk. Also note that you must create a new sync connection if you wish to continue using the sync service.

+
    +
  • Returns: The pushTransfer instance.
  • +
+ + +

PullTransfer

+
+

PullTransfer is a Stream. Use fs.createWriteStream() to pipe the stream to a file if necessary.

+

List of events:

+
    +
  • progress (stats) Emitted when a new chunk is received.
      +
    • stats An object with the following stats about the transfer:
        +
      • bytesTransferred The number of bytes transferred so far.
      • +
      +
    • +
    +
  • +
  • error (err) Emitted on error.
      +
    • err An Error.
    • +
    +
  • +
  • end Emitted when the transfer has successfully completed.
  • +
+ + +

pullTransfer.cancel()

+
+

Cancels the transfer by ending the connection. Can be useful for reading endless streams of data, such as /dev/urandom or /dev/zero, perhaps for benchmarking use. Note that you must create a new sync connection if you wish to continue using the sync service.

+
    +
  • Returns: The pullTransfer instance.
  • +
+ + +

Incompatible changes in version 2.x

+
+

Previously, we made extensive use of callbacks in almost every feature. While this normally works okay, ADB connections can be quite fickle, and it was starting to become difficult to handle every possible error. For example, we'd often fail to properly clean up after ourselves when a connection suddenly died in an unexpected place, causing memory and resource leaks.

+

In version 2, we've replaced nearly all callbacks with Promises (using Bluebird), allowing for much more reliable error propagation and resource cleanup (thanks to .finally()). Additionally, many commands can now be cancelled on the fly, and although unimplemented at this point, we'll also be able to report progress on long-running commands without any changes to the API.

+

Unfortunately, some API changes were required for this change. client.framebuffer()'s callback, for example, previously accepted more than one argument, which doesn't translate into Promises so well. Thankfully, it made sense to combine the arguments anyway, and we were able to do it quite cleanly.

+

Furthermore, most API methods were returning the current instance for chaining purposes. While perhaps useful in some contexts, most of the time it probably didn't quite do what users expected, as chained calls were run in parallel rather than in serial fashion. Now every applicable API method returns a Promise, which is an incompatible but welcome change. This will also allow you to hook into yield and coroutines in Node 0.12.

+

However, all methods still accept (and will accept in the future) callbacks for those who prefer them.

+

Test coverage was also massively improved, although we've still got ways to go.

+ + +

More information

+
+ + + +

Contributing

+
+

See CONTRIBUTING.md.

+ + +

License

+
+

See LICENSE.

+

Copyright © The OpenSTF Project. All Rights Reserved.

+

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/ClientOptions.html b/docs/interfaces/ClientOptions.html new file mode 100644 index 00000000..6220b210 --- /dev/null +++ b/docs/interfaces/ClientOptions.html @@ -0,0 +1,5 @@ +ClientOptions | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ClientOptions

Hierarchy

  • TcpNetConnectOpts
    • ClientOptions

Index

Properties

allowHalfOpen?: boolean
bin?: string
family?: number
fd?: number
hints?: number
host?: string
localAddress?: string
localPort?: number
lookup?: LookupFunction
onread?: OnReadOpts
+

If specified, incoming data is stored in a single buffer and passed to the supplied callback when data arrives on the socket. +Note: this will cause the streaming functionality to not provide any data, however events like 'error', 'end', and 'close' will +still be emitted as normal and methods like pause() and resume() will also behave as expected.

+
port: number
readable?: boolean
timeout?: number
writable?: boolean

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/CpuStats.html b/docs/interfaces/CpuStats.html new file mode 100644 index 00000000..4ce8ba04 --- /dev/null +++ b/docs/interfaces/CpuStats.html @@ -0,0 +1 @@ +CpuStats | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface CpuStats

Hierarchy

  • CpuStats

Index

Properties

guest: number
guestnice: number
idle: number
iowait: number
irq: number
nice: number
softirq: number
steal: number
system: number
total: number
user: number

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Device.html b/docs/interfaces/Device.html new file mode 100644 index 00000000..5f7cba74 --- /dev/null +++ b/docs/interfaces/Device.html @@ -0,0 +1 @@ +Device | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

Index

Properties

Properties

id: string
type: "emulator" | "device" | "offline"

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/DeviceWithPath.html b/docs/interfaces/DeviceWithPath.html new file mode 100644 index 00000000..8c7a1353 --- /dev/null +++ b/docs/interfaces/DeviceWithPath.html @@ -0,0 +1 @@ +DeviceWithPath | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface DeviceWithPath

Hierarchy

Index

Properties

device: string
id: string
model: string
path: string
product: string
transportId: string
type: "emulator" | "device" | "offline"

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/ExtendedPublicKey.html b/docs/interfaces/ExtendedPublicKey.html new file mode 100644 index 00000000..7aecb2d2 --- /dev/null +++ b/docs/interfaces/ExtendedPublicKey.html @@ -0,0 +1 @@ +ExtendedPublicKey | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ExtendedPublicKey

Hierarchy

  • PublicKey
    • ExtendedPublicKey

Index

Properties

comment: string
e: BigInteger
fingerprint: string
n: BigInteger

Methods

  • encrypt(data: string, scheme?: EncryptionScheme, schemeOptions?: any): string
  • Parameters

    • data: string
    • Optional scheme: EncryptionScheme
    • Optional schemeOptions: any

    Returns string

  • verify(digest: string, signature: string, scheme?: any): boolean
  • Parameters

    • digest: string
    • signature: string
    • Optional scheme: any

    Returns boolean

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Extra.html b/docs/interfaces/Extra.html new file mode 100644 index 00000000..5d77374c --- /dev/null +++ b/docs/interfaces/Extra.html @@ -0,0 +1,7 @@ +Extra | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Extra

Index

Properties

Properties

key: string
+

The key name.

+
type: "string" | "null" | "bool" | "int" | "long" | "float" | "uri" | "component"
+

The type, which can be one of 'string', 'null', 'bool', 'int', 'long', 'float', 'uri', 'component'.

+
value?: string | number | boolean | string[] | number[] | boolean[]
+

The value. Optional and unused if type is 'null'. If an Array, type is automatically set to be an array of <type>.

+

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/ExtraObject.html b/docs/interfaces/ExtraObject.html new file mode 100644 index 00000000..927b490b --- /dev/null +++ b/docs/interfaces/ExtraObject.html @@ -0,0 +1,4 @@ +ExtraObject | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface ExtraObject

+

When an Object, each key is treated as the key name. Simple values like null, String, Boolean and Number are type-mapped automatically (Number maps to 'int') and +can be used as-is. For more complex types, like arrays and URIs, set the value to be an Object like in the Array syntax (see above), but leave out the key property.

+

Hierarchy

  • ExtraObject

Indexable

[index: string]: ExtraValue

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Forward.html b/docs/interfaces/Forward.html new file mode 100644 index 00000000..e049d13a --- /dev/null +++ b/docs/interfaces/Forward.html @@ -0,0 +1 @@ +Forward | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Forward

Hierarchy

  • Forward

Index

Properties

local: string
remote: string
serial: string

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/FramebufferMeta.html b/docs/interfaces/FramebufferMeta.html new file mode 100644 index 00000000..97c5eb1f --- /dev/null +++ b/docs/interfaces/FramebufferMeta.html @@ -0,0 +1,29 @@ +FramebufferMeta | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FramebufferMeta

Hierarchy

  • FramebufferMeta

Index

Properties

alpha_length: number
+

The bit length of alpha in a pixel. 0 when not available.

+
alpha_offset: number
+

The bit offset of alpha in a pixel.

+
blue_length: number
+

The bit length of the blue color in a pixel.

+
blue_offset: number
+

The bit offset of the blue color in a pixel.

+
bpp: number
+

Bits per pixel (i.e. color depth).

+
format: ColorFormat
+

The framebuffer format for convenience. This can be one of 'bgr', 'bgra', 'rgb', 'rgba'.

+
green_length: number
+

The bit length of the green color in a pixel.

+
green_offset: number
+

The bit offset of the green color in a pixel.

+
height: number
+

The vertical resolution of the framebuffer. This SHOULD always be the same as screen height.

+
red_length: number
+

The bit length of the red color in a pixel.

+
red_offset: number
+

The bit offset of the red color in a pixel.

+
size: number
+

The raw byte size of the framebuffer.

+
version: number
+

The framebuffer version. Useful for patching possible backwards-compatibility issues.

+
width: number
+

The horizontal resolution of the framebuffer. This SHOULD always be the same as screen width. We have not encountered any device with incorrect framebuffer metadata, but according to rumors there might be some.

+

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/FramebufferStreamWithMeta.html b/docs/interfaces/FramebufferStreamWithMeta.html new file mode 100644 index 00000000..d508cc93 --- /dev/null +++ b/docs/interfaces/FramebufferStreamWithMeta.html @@ -0,0 +1,15 @@ +FramebufferStreamWithMeta | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface FramebufferStreamWithMeta

Hierarchy

  • Duplex
    • FramebufferStreamWithMeta

Index

Properties

allowHalfOpen: boolean
destroyed: boolean
+

meta data describing the content

+
readable: boolean
readableEncoding: BufferEncoding
readableEnded: boolean
readableFlowing: boolean
readableHighWaterMark: number
readableLength: number
readableObjectMode: boolean
writable: boolean
writableCorked: number
writableEnded: boolean
writableFinished: boolean
writableHighWaterMark: number
writableLength: number
writableObjectMode: boolean

Methods

  • [asyncIterator](): AsyncIterableIterator<any>
  • Returns AsyncIterableIterator<any>

  • _destroy(error: Error, callback: (error: Error) => void): void
  • Parameters

    • error: Error
    • callback: (error: Error) => void
        • (error: Error): void
        • Parameters

          • error: Error

          Returns void

    Returns void

  • _final(callback: (error?: Error) => void): void
  • Parameters

    • callback: (error?: Error) => void
        • (error?: Error): void
        • Parameters

          • Optional error: Error

          Returns void

    Returns void

  • _read(size: number): void
  • Parameters

    • size: number

    Returns void

  • _write(chunk: any, encoding: BufferEncoding, callback: (error?: Error) => void): void
  • Parameters

    • chunk: any
    • encoding: BufferEncoding
    • callback: (error?: Error) => void
        • (error?: Error): void
        • Parameters

          • Optional error: Error

          Returns void

    Returns void

  • _writev(chunks: { chunk: any; encoding: BufferEncoding }[], callback: (error?: Error) => void): void
  • Parameters

    • chunks: { chunk: any; encoding: BufferEncoding }[]
    • callback: (error?: Error) => void
        • (error?: Error): void
        • Parameters

          • Optional error: Error

          Returns void

    Returns void

  • +

    Event emitter +The defined events on documents including:

    +
      +
    1. close
    2. +
    3. data
    4. +
    5. end
    6. +
    7. error
    8. +
    9. pause
    10. +
    11. readable
    12. +
    13. resume
    14. +
    +

    Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • cork(): void
  • Returns void

  • Parameters

    • Optional error: Error

    Returns FramebufferStreamWithMeta

  • emit(event: "close"): boolean
  • emit(event: "data", chunk: any): boolean
  • emit(event: "end"): boolean
  • emit(event: "error", err: Error): boolean
  • emit(event: "pause"): boolean
  • emit(event: "readable"): boolean
  • emit(event: "resume"): boolean
  • emit(event: string | symbol, ...args: any[]): boolean
  • Parameters

    • event: "close"

    Returns boolean

  • Parameters

    • event: "data"
    • chunk: any

    Returns boolean

  • Parameters

    • event: "end"

    Returns boolean

  • Parameters

    • event: "error"
    • err: Error

    Returns boolean

  • Parameters

    • event: "pause"

    Returns boolean

  • Parameters

    • event: "readable"

    Returns boolean

  • Parameters

    • event: "resume"

    Returns boolean

  • Parameters

    • event: string | symbol
    • Rest ...args: any[]

    Returns boolean

  • Parameters

    • Optional cb: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • chunk: any
    • Optional cb: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding
    • Optional cb: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • eventNames(): (string | symbol)[]
  • Returns (string | symbol)[]

  • getMaxListeners(): number
  • Returns number

  • isPaused(): boolean
  • Returns boolean

  • listenerCount(event: string | symbol): number
  • Parameters

    • event: string | symbol

    Returns number

  • listeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • pipe<T>(destination: T, options?: { end?: boolean }): T
  • Type parameters

    • T: WritableStream<T>

    Parameters

    • destination: T
    • Optional options: { end?: boolean }
      • Optional end?: boolean

    Returns T

  • Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • push(chunk: any, encoding?: BufferEncoding): boolean
  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding

    Returns boolean

  • rawListeners(event: string | symbol): Function[]
  • Parameters

    • event: string | symbol

    Returns Function[]

  • read(size?: number): any
  • Parameters

    • Optional size: number

    Returns any

  • Parameters

    • Optional event: string | symbol

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "close"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "data"
    • listener: (chunk: any) => void
        • (chunk: any): void
        • Parameters

          • chunk: any

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "end"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "error"
    • listener: (err: Error) => void
        • (err: Error): void
        • Parameters

          • err: Error

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "pause"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "readable"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: "resume"
    • listener: () => void
        • (): void
        • Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • event: string | symbol
    • listener: (...args: any[]) => void
        • (...args: any[]): void
        • Parameters

          • Rest ...args: any[]

          Returns void

    Returns FramebufferStreamWithMeta

  • Parameters

    • encoding: BufferEncoding

    Returns FramebufferStreamWithMeta

  • Parameters

    • encoding: BufferEncoding

    Returns FramebufferStreamWithMeta

  • Parameters

    • n: number

    Returns FramebufferStreamWithMeta

  • uncork(): void
  • Returns void

  • Parameters

    • Optional destination: WritableStream

    Returns FramebufferStreamWithMeta

  • unshift(chunk: any, encoding?: BufferEncoding): void
  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding

    Returns void

  • Parameters

    • oldStream: ReadableStream

    Returns FramebufferStreamWithMeta

  • write(chunk: any, encoding?: BufferEncoding, cb?: (error: Error) => void): boolean
  • write(chunk: any, cb?: (error: Error) => void): boolean
  • Parameters

    • chunk: any
    • Optional encoding: BufferEncoding
    • Optional cb: (error: Error) => void
        • (error: Error): void
        • Parameters

          • error: Error

          Returns void

    Returns boolean

  • Parameters

    • chunk: any
    • Optional cb: (error: Error) => void
        • (error: Error): void
        • Parameters

          • error: Error

          Returns void

    Returns boolean

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Loads.html b/docs/interfaces/Loads.html new file mode 100644 index 00000000..219d4442 --- /dev/null +++ b/docs/interfaces/Loads.html @@ -0,0 +1 @@ +Loads | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Hierarchy

  • Loads

Indexable

[index: string]: CpuStats

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/Reverse.html b/docs/interfaces/Reverse.html new file mode 100644 index 00000000..b85070c5 --- /dev/null +++ b/docs/interfaces/Reverse.html @@ -0,0 +1 @@ +Reverse | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface Reverse

Hierarchy

  • Reverse

Index

Properties

Properties

local: string
remote: string

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/SocketOptions.html b/docs/interfaces/SocketOptions.html new file mode 100644 index 00000000..0b3ba2d0 --- /dev/null +++ b/docs/interfaces/SocketOptions.html @@ -0,0 +1 @@ +SocketOptions | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface SocketOptions

Hierarchy

  • SocketOptions

Index

Methods

Methods

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/StartActivityOptions.html b/docs/interfaces/StartActivityOptions.html new file mode 100644 index 00000000..e0e7d205 --- /dev/null +++ b/docs/interfaces/StartActivityOptions.html @@ -0,0 +1,21 @@ +StartActivityOptions | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface StartActivityOptions

Hierarchy

Index

Properties

action?: string
+

The action.

+
category?: string | string[]
+

The category. For multiple categories, pass an Array.

+
component?: string
+

The component.

+
data?: string
+

The data URI, if any.

+
debug?: boolean
+

Set to true to enable debugging.

+
extras?: Extra[] | ExtraObject
+

Any extra data.

+
flags?: number | number[]
+

Numeric flags.

+
mimeType?: string
+

The mime type, if any.

+
user?: number
+

The user to run as. Not set by default. If the option is unsupported by the device, an attempt will be made to run the same command again without the user option.

+
wait?: boolean
+

Set to true to wait for the activity to launch.

+

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/StartServiceOptions.html b/docs/interfaces/StartServiceOptions.html new file mode 100644 index 00000000..2bfa77a6 --- /dev/null +++ b/docs/interfaces/StartServiceOptions.html @@ -0,0 +1,17 @@ +StartServiceOptions | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface StartServiceOptions

Hierarchy

Index

Properties

action?: string
+

The action.

+
category?: string | string[]
+

The category. For multiple categories, pass an Array.

+
component?: string
+

The component.

+
data?: string
+

The data URI, if any.

+
extras?: Extra[] | ExtraObject
+

Any extra data.

+
flags?: number | number[]
+

Numeric flags.

+
mimeType?: string
+

The mime type, if any.

+
user?: number
+

The user to run as. Not set by default. If the option is unsupported by the device, an attempt will be made to run the same command again without the user option.

+

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/TrackerChangeSet.html b/docs/interfaces/TrackerChangeSet.html new file mode 100644 index 00000000..52c1c57e --- /dev/null +++ b/docs/interfaces/TrackerChangeSet.html @@ -0,0 +1 @@ +TrackerChangeSet | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface TrackerChangeSet

Hierarchy

  • TrackerChangeSet

Index

Properties

added: Device[]
changed: Device[]
removed: Device[]

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/interfaces/WithToString.html b/docs/interfaces/WithToString.html new file mode 100644 index 00000000..021af994 --- /dev/null +++ b/docs/interfaces/WithToString.html @@ -0,0 +1 @@ +WithToString | @devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface WithToString

Hierarchy

  • WithToString

Index

Methods

Methods

  • toString(): string

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/docs/modules.html b/docs/modules.html new file mode 100644 index 00000000..da4def3b --- /dev/null +++ b/docs/modules.html @@ -0,0 +1 @@ +@devicefarmer/adbkit
Options
All
  • Public
  • Public/Protected
  • All
Menu

@devicefarmer/adbkit

Index

References

Renames and re-exports Adb

Type aliases

Callback<T>: (err: Error | null, result?: T) => void

Type parameters

  • T

Type declaration

    • (err: Error | null, result?: T): void
    • Parameters

      • err: Error | null
      • Optional result: T

      Returns void

ExtraValue: number | string | boolean | ExtraObject
Features: Record<string, boolean>
Properties: Record<string, string>

Legend

  • Constructor
  • Property
  • Method
  • Inherited constructor
  • Inherited property
  • Inherited method
  • Property
  • Method
  • Private property
  • Private method
  • Static property
  • Static method

Settings

Theme

Generated using TypeDoc

\ No newline at end of file diff --git a/package.json b/package.json index 43723506..cac41626 100644 --- a/package.json +++ b/package.json @@ -47,6 +47,7 @@ "test": "mocha -r ts-node/register --reporter spec --colors test/**/*.ts" }, "dependencies": { + "@devicefarmer/adbkit": "^3.2.3", "@devicefarmer/adbkit-logcat": "^2.1.2", "@devicefarmer/adbkit-monkey": "~1.2.0", "bluebird": "~3.7", @@ -56,12 +57,12 @@ "split": "~1.0.1" }, "devDependencies": { + "@types/bluebird": "^3.5.33", "@types/debug": "^4.1.5", "@types/mocha": "^9.0.0", "@types/node": "^14.14.10", - "@types/sinon-chai": "^3.2.5", - "@types/bluebird": "^3.5.33", "@types/node-forge": "^1.0.1", + "@types/sinon-chai": "^3.2.5", "@typescript-eslint/eslint-plugin": "^4.9.1", "@typescript-eslint/parser": "^4.9.1", "bench": "~0.3.6",