From 36c66f019d1fcf79bdf7a49b90f789470da293b3 Mon Sep 17 00:00:00 2001 From: ingerjm0 Date: Sat, 23 Feb 2019 21:10:40 -0800 Subject: [PATCH] Add @signal tag to jsdoc; use custom jsdoc templates --- tools/jsdoc/config.json | 13 + tools/jsdoc/hifi-jsdoc-template/LICENSE.md | 61 ++ tools/jsdoc/hifi-jsdoc-template/README.md | 42 + tools/jsdoc/hifi-jsdoc-template/package.json | 59 ++ tools/jsdoc/hifi-jsdoc-template/publish.js | 772 ++++++++++++++++++ .../static/fonts/Cairo-Bold.ttf | Bin 0 -> 170996 bytes .../static/fonts/proximanova-regular.otf | Bin 0 -> 62892 bytes .../static/images/white-logo.png | Bin 0 -> 31280 bytes .../static/scripts/collapse.js | 11 + .../static/scripts/jquery-3.1.1.min.js | 4 + .../static/scripts/linenumber.js | 25 + .../scripts/prettify/Apache-License-2.0.txt | 202 +++++ .../static/scripts/prettify/lang-css.js | 2 + .../static/scripts/prettify/prettify.js | 28 + .../static/scripts/search.js | 42 + .../static/styles/jsdoc.css | 731 +++++++++++++++++ .../static/styles/prettify.css | 132 +++ .../hifi-jsdoc-template/tmpl/augments.tmpl | 10 + .../hifi-jsdoc-template/tmpl/container.tmpl | 283 +++++++ .../hifi-jsdoc-template/tmpl/details.tmpl | 143 ++++ .../hifi-jsdoc-template/tmpl/example.tmpl | 141 ++++ .../hifi-jsdoc-template/tmpl/examples.tmpl | 13 + .../hifi-jsdoc-template/tmpl/exceptions.tmpl | 32 + .../hifi-jsdoc-template/tmpl/layout.tmpl | 73 ++ .../hifi-jsdoc-template/tmpl/mainpage.tmpl | 10 + .../hifi-jsdoc-template/tmpl/members.tmpl | 41 + .../hifi-jsdoc-template/tmpl/method.tmpl | 119 +++ .../hifi-jsdoc-template/tmpl/methodList.tmpl | 107 +++ .../hifi-jsdoc-template/tmpl/paramList.tmpl | 67 ++ .../hifi-jsdoc-template/tmpl/params.tmpl | 115 +++ .../hifi-jsdoc-template/tmpl/properties.tmpl | 103 +++ .../hifi-jsdoc-template/tmpl/returns.tmpl | 8 + .../hifi-jsdoc-template/tmpl/returnsSimp.tmpl | 6 + .../hifi-jsdoc-template/tmpl/signal.tmpl | 123 +++ .../hifi-jsdoc-template/tmpl/signalList.tmpl | 92 +++ .../hifi-jsdoc-template/tmpl/source.tmpl | 8 + .../hifi-jsdoc-template/tmpl/tutorial.tmpl | 19 + .../jsdoc/hifi-jsdoc-template/tmpl/type.tmpl | 7 + tools/jsdoc/plugins/hifi.js | 35 +- 39 files changed, 3664 insertions(+), 15 deletions(-) create mode 100644 tools/jsdoc/hifi-jsdoc-template/LICENSE.md create mode 100644 tools/jsdoc/hifi-jsdoc-template/README.md create mode 100644 tools/jsdoc/hifi-jsdoc-template/package.json create mode 100644 tools/jsdoc/hifi-jsdoc-template/publish.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/fonts/Cairo-Bold.ttf create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/fonts/proximanova-regular.otf create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/images/white-logo.png create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/collapse.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/jquery-3.1.1.min.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/linenumber.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/prettify/Apache-License-2.0.txt create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/prettify/lang-css.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/prettify/prettify.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/scripts/search.js create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/styles/jsdoc.css create mode 100644 tools/jsdoc/hifi-jsdoc-template/static/styles/prettify.css create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/augments.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/container.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/details.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/example.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/examples.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/exceptions.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/layout.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/mainpage.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/paramList.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/returns.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/returnsSimp.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/source.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/tutorial.tmpl create mode 100644 tools/jsdoc/hifi-jsdoc-template/tmpl/type.tmpl diff --git a/tools/jsdoc/config.json b/tools/jsdoc/config.json index a24e248661..5074362225 100644 --- a/tools/jsdoc/config.json +++ b/tools/jsdoc/config.json @@ -1,4 +1,17 @@ { + "opts": { + "template": "hifi-jsdoc-template" + }, + "docdash": { + "meta": { + "title": "", + "description": "", + "keyword": "" + }, + "search": [true], + "collapse": [true], + "typedefs": [false] + }, "templates": { "default": { "outputSourceFiles": false diff --git a/tools/jsdoc/hifi-jsdoc-template/LICENSE.md b/tools/jsdoc/hifi-jsdoc-template/LICENSE.md new file mode 100644 index 0000000000..ff66af581b --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/LICENSE.md @@ -0,0 +1,61 @@ +# License + +Docdash is free software, licensed under the Apache License, Version 2.0 (the +"License"). Commercial and non-commercial use are permitted in compliance with +the License. + +Copyright (c) 2016 Clement Moron and the +[contributors to docdash](https://github.com/clenemt/docdash/graphs/contributors). +All rights reserved. + +You may obtain a copy of the License at: +http://www.apache.org/licenses/LICENSE-2.0 + +In addition, a copy of the License is included with this distribution. + +As stated in Section 7, "Disclaimer of Warranty," of the License: + +> Licensor provides the Work (and each Contributor provides its Contributions) +> on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +> express or implied, including, without limitation, any warranties or +> conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +> PARTICULAR PURPOSE. You are solely responsible for determining the +> appropriateness of using or redistributing the Work and assume any risks +> associated with Your exercise of permissions under this License. + +The source code for docdash is available at: +https://github.com/clenemt/docdash + +# Third-Party Software + +Docdash includes or depends upon the following third-party software, either in +whole or in part. Each third-party software package is provided under its own +license. + +## JSDoc 3 + +JSDoc 3 is free software, licensed under the Apache License, Version 2.0 (the +"License"). Commercial and non-commercial use are permitted in compliance with +the License. + +Copyright (c) 2011-2016 Michael Mathews and the +[contributors to JSDoc](https://github.com/jsdoc3/jsdoc/graphs/contributors). +All rights reserved. + +You may obtain a copy of the License at: +http://www.apache.org/licenses/LICENSE-2.0 + +In addition, a copy of the License is included with this distribution. + +As stated in Section 7, "Disclaimer of Warranty," of the License: + +> Licensor provides the Work (and each Contributor provides its Contributions) +> on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either +> express or implied, including, without limitation, any warranties or +> conditions of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A +> PARTICULAR PURPOSE. You are solely responsible for determining the +> appropriateness of using or redistributing the Work and assume any risks +> associated with Your exercise of permissions under this License. + +The source code for JSDoc 3 is available at: +https://github.com/jsdoc3/jsdoc diff --git a/tools/jsdoc/hifi-jsdoc-template/README.md b/tools/jsdoc/hifi-jsdoc-template/README.md new file mode 100644 index 0000000000..797beaa79a --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/README.md @@ -0,0 +1,42 @@ +# hifi-jsdoc-template +The hifi-jsdoc-template is based on the [DocDash](https://github.com/clenemt/docdash) template. + +## Usage +Clone repository to your designated `jsdoc/node_modules` template directory. + +In your `config.json` file, add a template option. + +```json +"opts": { + "template": "node_modules/hifi-jsdoc-template" +} +``` + +## Sample `config.json` + +```json +{ + "opts": { + "template": "node_modules/hifi-jsdoc-template" + }, + "docdash": { + "meta": { + "title": "", + "description": "", + "keyword": "" + }, + "search": [true], + "collapse": [true], + "typedefs": [false] + }, + "templates": { + "default": { + "outputSourceFiles": false + } + }, + "plugins": [ + "plugins/hifi", + "plugins/hifiJSONExport" + ] +} +``` diff --git a/tools/jsdoc/hifi-jsdoc-template/package.json b/tools/jsdoc/hifi-jsdoc-template/package.json new file mode 100644 index 0000000000..f011adc2ba --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/package.json @@ -0,0 +1,59 @@ +{ + "_from": "docdash", + "_id": "docdash@1.0.0", + "_inBundle": false, + "_integrity": "sha512-HhK72PT4z55og8FDqskO/tTYXxU+LovRz+9pCDHLnUoPchkxjdIJidS+96LqW3CLrRdBmnkDRrcVrDFGLIluTw==", + "_location": "/docdash", + "_phantomChildren": {}, + "_requested": { + "type": "tag", + "registry": true, + "raw": "docdash", + "name": "docdash", + "escapedName": "docdash", + "rawSpec": "", + "saveSpec": null, + "fetchSpec": "latest" + }, + "_requiredBy": [ + "#USER", + "/" + ], + "_resolved": "https://registry.npmjs.org/docdash/-/docdash-1.0.0.tgz", + "_shasum": "5b7df10fed3d341fc4416a8978c65ad561869d18", + "_spec": "docdash", + "_where": "D:\\hifi\\tools\\jsdoc", + "author": { + "name": "Clement Moron", + "email": "clement.moron@gmail.com" + }, + "bugs": { + "url": "https://github.com/clenemt/docdash/issues" + }, + "bundleDependencies": false, + "deprecated": false, + "description": "A clean, responsive documentation template theme for JSDoc 3 inspired by lodash and minami", + "devDependencies": { + "browser-sync": "latest", + "jsdoc": "latest", + "watch-run": "latest" + }, + "homepage": "https://github.com/clenemt/docdash#readme", + "keywords": [ + "jsdoc", + "template" + ], + "license": "Apache-2.0", + "main": "publish.js", + "name": "docdash", + "repository": { + "type": "git", + "url": "git+https://github.com/clenemt/docdash.git" + }, + "scripts": { + "sync": "browser-sync start -s ../fixtures-doc -f ../fixtures-doc --reload-delay 1000 --no-ui --no-notify", + "test": "jsdoc -c fixtures/fixtures.conf.json", + "watch": "watch-run -d 1000 -p tmpl/**,static/** \"npm run test\"" + }, + "version": "1.0.0" +} diff --git a/tools/jsdoc/hifi-jsdoc-template/publish.js b/tools/jsdoc/hifi-jsdoc-template/publish.js new file mode 100644 index 0000000000..9cd428bbbb --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/publish.js @@ -0,0 +1,772 @@ +/*global env: true */ +'use strict'; + +var doop = require('jsdoc/util/doop'); +var fs = require('jsdoc/fs'); +var helper = require('jsdoc/util/templateHelper'); +var logger = require('jsdoc/util/logger'); +var path = require('jsdoc/path'); +var taffy = require('taffydb').taffy; +var template = require('jsdoc/template'); +var util = require('util'); + +var htmlsafe = helper.htmlsafe; +var linkto = helper.linkto; +var resolveAuthorLinks = helper.resolveAuthorLinks; +var scopeToPunc = helper.scopeToPunc; +var hasOwnProp = Object.prototype.hasOwnProperty; + +var data; +var view; + +var outdir = path.normalize(env.opts.destination); + +function copyFile(source, target, cb) { + var cbCalled = false; + + var rd = fs.createReadStream(source); + rd.on("error", function(err) { + done(err); + }); + var wr = fs.createWriteStream(target); + wr.on("error", function(err) { + done(err); + }); + wr.on("close", function(ex) { + done(); + }); + rd.pipe(wr); + + function done(err) { + if (!cbCalled) { + cb(err); + cbCalled = true; + } + } +} + +function find(spec) { + return helper.find(data, spec); +} + +function tutoriallink(tutorial) { + return helper.toTutorial(tutorial, null, { tag: 'em', classname: 'disabled', prefix: 'Tutorial: ' }); +} + +function getAncestorLinks(doclet) { + return helper.getAncestorLinks(data, doclet); +} + +function hashToLink(doclet, hash) { + if ( !/^(#.+)/.test(hash) ) { return hash; } + + var url = helper.createLink(doclet); + + url = url.replace(/(#.+|$)/, hash); + return '' + hash + ''; +} + +function needsSignature(doclet) { + var needsSig = false; + + // function and class definitions always get a signature + if (doclet.kind === 'function' || doclet.kind === 'class' && !doclet.hideconstructor) { + needsSig = true; + } + // typedefs that contain functions get a signature, too + else if (doclet.kind === 'typedef' && doclet.type && doclet.type.names && + doclet.type.names.length) { + for (var i = 0, l = doclet.type.names.length; i < l; i++) { + if (doclet.type.names[i].toLowerCase() === 'function') { + needsSig = true; + break; + } + } + } + + return needsSig; +} + +function getSignatureAttributes(item) { + var attributes = []; + + if (item.optional) { + attributes.push('opt'); + } + + if (item.nullable === true) { + attributes.push('nullable'); + } + else if (item.nullable === false) { + attributes.push('non-null'); + } + + return attributes; +} + +function updateItemName(item) { + var attributes = getSignatureAttributes(item); + var itemName = item.name || ''; + + if (item.variable) { + itemName = '…' + itemName; + } + + if (attributes && attributes.length) { + itemName = util.format( '%s%s', itemName, + attributes.join(', ') ); + } + + return itemName; +} + +function addParamAttributes(params) { + return params.filter(function(param) { + return param.name && param.name.indexOf('.') === -1; + }).map(updateItemName); +} + +function buildItemTypeStrings(item) { + var types = []; + + if (item && item.type && item.type.names) { + item.type.names.forEach(function(name) { + types.push( linkto(name, htmlsafe(name)) ); + }); + } + + return types; +} + +function buildAttribsString(attribs) { + var attribsString = ''; + + if (attribs && attribs.length) { + attribsString = htmlsafe( util.format('(%s) ', attribs.join(', ')) ); + } + + return attribsString; +} + +function addNonParamAttributes(items) { + var types = []; + + items.forEach(function(item) { + types = types.concat( buildItemTypeStrings(item) ); + }); + + return types; +} + +function addSignatureParams(f) { + var params = f.params ? addParamAttributes(f.params) : []; + f.signature = util.format( '%s( %s )', (f.signature || ''), params.join(', ') ); +} + +function addSignatureReturns(f) { + var attribs = []; + var attribsString = ''; + var returnTypes = []; + var returnTypesString = ''; + + // jam all the return-type attributes into an array. this could create odd results (for example, + // if there are both nullable and non-nullable return types), but let's assume that most people + // who use multiple @return tags aren't using Closure Compiler type annotations, and vice-versa. + if (f.returns) { + f.returns.forEach(function(item) { + helper.getAttribs(item).forEach(function(attrib) { + if (attribs.indexOf(attrib) === -1) { + attribs.push(attrib); + } + }); + }); + + attribsString = buildAttribsString(attribs); + } + + if (f.returns) { + returnTypes = addNonParamAttributes(f.returns); + } + if (returnTypes.length) { + returnTypesString = util.format( ' → %s{%s}', attribsString, returnTypes.join('|') ); + } + + f.signature = '' + (f.signature || '') + '' + + '' + returnTypesString + ''; +} + +function addSignatureTypes(f) { + var types = f.type ? buildItemTypeStrings(f) : []; + + f.signature = (f.signature || '') + '' + + (types.length ? ' :' + types.join('|') : '') + ''; +} + +function addAttribs(f) { + var attribs = helper.getAttribs(f); + var attribsString = buildAttribsString(attribs); + + f.attribs = util.format('%s', attribsString); +} + +function shortenPaths(files, commonPrefix) { + Object.keys(files).forEach(function(file) { + files[file].shortened = files[file].resolved.replace(commonPrefix, '') + // always use forward slashes + .replace(/\\/g, '/'); + }); + + return files; +} + +function getPathFromDoclet(doclet) { + if (!doclet.meta) { + return null; + } + + return doclet.meta.path && doclet.meta.path !== 'null' ? + path.join(doclet.meta.path, doclet.meta.filename) : + doclet.meta.filename; +} + +function generate(type, title, docs, filename, resolveLinks) { + resolveLinks = resolveLinks === false ? false : true; + + var docData = { + type: type, + title: title, + docs: docs + }; + + var outpath = path.join(outdir, filename), + html = view.render('container.tmpl', docData); + + if (resolveLinks) { + html = helper.resolveLinks(html); // turn {@link foo} into foo + } + + fs.writeFileSync(outpath, html, 'utf8'); +} + +function generateSourceFiles(sourceFiles, encoding) { + encoding = encoding || 'utf8'; + Object.keys(sourceFiles).forEach(function(file) { + var source; + // links are keyed to the shortened path in each doclet's `meta.shortpath` property + var sourceOutfile = helper.getUniqueFilename(sourceFiles[file].shortened); + helper.registerLink(sourceFiles[file].shortened, sourceOutfile); + + try { + source = { + kind: 'source', + code: helper.htmlsafe( fs.readFileSync(sourceFiles[file].resolved, encoding) ) + }; + } + catch(e) { + logger.error('Error while generating source file %s: %s', file, e.message); + } + + generate('Source', sourceFiles[file].shortened, [source], sourceOutfile, false); + }); +} + +/** + * Look for classes or functions with the same name as modules (which indicates that the module + * exports only that class or function), then attach the classes or functions to the `module` + * property of the appropriate module doclets. The name of each class or function is also updated + * for display purposes. This function mutates the original arrays. + * + * @private + * @param {Array.} doclets - The array of classes and functions to + * check. + * @param {Array.} modules - The array of module doclets to search. + */ +function attachModuleSymbols(doclets, modules) { + var symbols = {}; + + // build a lookup table + doclets.forEach(function(symbol) { + symbols[symbol.longname] = symbols[symbol.longname] || []; + symbols[symbol.longname].push(symbol); + }); + + return modules.map(function(module) { + if (symbols[module.longname]) { + module.modules = symbols[module.longname] + // Only show symbols that have a description. Make an exception for classes, because + // we want to show the constructor-signature heading no matter what. + .filter(function(symbol) { + return symbol.description || symbol.kind === 'class'; + }) + .map(function(symbol) { + symbol = doop(symbol); + + if (symbol.kind === 'class' || symbol.kind === 'function' && !symbol.hideconstructor) { + symbol.name = symbol.name.replace('module:', '(require("') + '"))'; + } + + return symbol; + }); + } + }); +} + +function buildMemberNav(items, itemHeading, itemsSeen, linktoFn) { + var nav = ''; + + if (items && items.length) { + var itemsNav = ''; + + items.forEach(function(item) { + var displayName; + var methods = find({kind:'function', memberof: item.longname}); + var signals = find({kind:'signal', memberof: item.longname}); + var members = find({kind:'member', memberof: item.longname}); + var docdash = env && env.conf && env.conf.docdash || {}; + var conf = env && env.conf || {}; + if ( !hasOwnProp.call(item, 'longname') ) { + itemsNav += '
  • ' + linktoFn('', item.name); + itemsNav += '
  • '; + } else if ( !hasOwnProp.call(itemsSeen, item.longname) ) { + if (conf.templates.default.useLongnameInNav) { + displayName = item.longname; + } else { + displayName = item.name; + } + itemsNav += '
  • ' + linktoFn(item.longname, displayName.replace(/\b(module|event):/g, '')); + + if (docdash.static && members.find(function (m) { return m.scope === 'static'; } )) { + itemsNav += "
      "; + + members.forEach(function (member) { + if (!member.scope === 'static') return; + itemsNav += "
    • '; + } + } + + return nav; +} + +function linktoTutorial(longName, name) { + return tutoriallink(name); +} + +function linktoExternal(longName, name) { + return linkto(longName, name.replace(/(^"|"$)/g, '')); +} + +/** + * Create the navigation sidebar. + * @param {object} members The members that will be used to create the sidebar. + * @param {array} members.classes + * @param {array} members.externals + * @param {array} members.globals + * @param {array} members.mixins + * @param {array} members.modules + * @param {array} members.namespaces + * @param {array} members.tutorials + * @param {array} members.events + * @param {array} members.interfaces + * @return {s + ring} The HTML for the navigation sidebar. + */ + +function buildNav(members) { + var nav = '

      Home

      '; + var seen = {}; + var seenTutorials = {}; + var docdash = env && env.conf && env.conf.docdash || {}; + if(docdash.menu){ + for(var menu in docdash.menu){ + nav += '

      '; + } + } + var defaultOrder = [ + 'Namespaces', 'Classes', 'Modules', 'Externals', 'Events', 'Mixins', 'Tutorials', 'Interfaces' + ]; + var order = docdash.sectionOrder || defaultOrder; + var sections = { + Namespaces: buildMemberNav(members.namespaces, 'Namespaces', seen, linkto), + Classes: buildMemberNav(members.classes, 'Classes', seen, linkto), + Modules: buildMemberNav(members.modules, 'Modules', {}, linkto), + Externals: buildMemberNav(members.externals, 'Externals', seen, linktoExternal), + Events: buildMemberNav(members.events, 'Events', seen, linkto), + Mixins: buildMemberNav(members.mixins, 'Mixins', seen, linkto), + Tutorials: buildMemberNav(members.tutorials, 'Tutorials', seenTutorials, linktoTutorial), + Interfaces: buildMemberNav(members.interfaces, 'Interfaces', seen, linkto), + }; + order.forEach(member => nav += sections[member]); + + if (members.globals.length) { + var globalNav = ''; + + members.globals.forEach(function(g) { + if ( (docdash.typedefs || g.kind !== 'typedef') && !hasOwnProp.call(seen, g.longname) ) { + globalNav += '
    • ' + linkto(g.longname, g.name) + '
    • '; + } + seen[g.longname] = true; + }); + + if (!globalNav) { + // turn the heading into a link so you can actually get to the global page + nav += '

      ' + linkto('global', 'Global') + '

      '; + } + else { + nav += '

      Globals

        ' + globalNav + '
      '; + } + } + + return nav; +} + +/** + @param {TAFFY} taffyData See . + @param {object} opts + @param {Tutorial} tutorials + */ +exports.publish = function(taffyData, opts, tutorials) { + var docdash = env && env.conf && env.conf.docdash || {}; + data = taffyData; + + var conf = env.conf.templates || {}; + conf.default = conf.default || {}; + + var templatePath = path.normalize(opts.template); + view = new template.Template( path.join(templatePath, 'tmpl') ); + + // claim some special filenames in advance, so the All-Powerful Overseer of Filename Uniqueness + // doesn't try to hand them out later + var indexUrl = helper.getUniqueFilename('index'); + // don't call registerLink() on this one! 'index' is also a valid longname + + var globalUrl = helper.getUniqueFilename('global'); + helper.registerLink('global', globalUrl); + + // set up templating + view.layout = conf.default.layoutFile ? + path.getResourcePath(path.dirname(conf.default.layoutFile), + path.basename(conf.default.layoutFile) ) : + 'layout.tmpl'; + + // set up tutorials for helper + helper.setTutorials(tutorials); + + data = helper.prune(data); + + docdash.sort !== false && data.sort('longname, version, since'); + helper.addEventListeners(data); + + var sourceFiles = {}; + var sourceFilePaths = []; + data().each(function(doclet) { + if(docdash.removeQuotes){ + if(docdash.removeQuotes === "all"){ + if(doclet.name){ + doclet.name = doclet.name.replace(/"/g, ''); + doclet.name = doclet.name.replace(/'/g, ''); + } + if(doclet.longname){ + doclet.longname = doclet.longname.replace(/"/g, ''); + doclet.longname = doclet.longname.replace(/'/g, ''); + } + } + else if(docdash.removeQuotes === "trim"){ + if(doclet.name){ + doclet.name = doclet.name.replace(/^"(.*)"$/, '$1'); + doclet.name = doclet.name.replace(/^'(.*)'$/, '$1'); + } + if(doclet.longname){ + doclet.longname = doclet.longname.replace(/^"(.*)"$/, '$1'); + doclet.longname = doclet.longname.replace(/^'(.*)'$/, '$1'); + } + } + } + doclet.attribs = ''; + + if (doclet.examples) { + doclet.examples = doclet.examples.map(function(example) { + var caption, code; + + if (example && example.match(/^\s*([\s\S]+?)<\/caption>(\s*[\n\r])([\s\S]+)$/i)) { + caption = RegExp.$1; + code = RegExp.$3; + } + + return { + caption: caption || '', + code: code || example || '' + }; + }); + } + if (doclet.see) { + doclet.see.forEach(function(seeItem, i) { + doclet.see[i] = hashToLink(doclet, seeItem); + }); + } + + // build a list of source files + var sourcePath; + if (doclet.meta) { + sourcePath = getPathFromDoclet(doclet); + sourceFiles[sourcePath] = { + resolved: sourcePath, + shortened: null + }; + if (sourceFilePaths.indexOf(sourcePath) === -1) { + sourceFilePaths.push(sourcePath); + } + } + }); + + // update outdir if necessary, then create outdir + var packageInfo = ( find({kind: 'package'}) || [] ) [0]; + if (packageInfo && packageInfo.name) { + outdir = path.join( outdir, packageInfo.name, (packageInfo.version || '') ); + } + fs.mkPath(outdir); + + // copy the template's static files to outdir + var fromDir = path.join(templatePath, 'static'); + var staticFiles = fs.ls(fromDir, 3); + + staticFiles.forEach(function(fileName) { + var toDir = fs.toDir( fileName.replace(fromDir, outdir) ); + fs.mkPath(toDir); + copyFile(fileName, path.join(toDir, path.basename(fileName)), function(err){if(err) console.err(err);}); + }); + + // copy user-specified static files to outdir + var staticFilePaths; + var staticFileFilter; + var staticFileScanner; + if (conf.default.staticFiles) { + // The canonical property name is `include`. We accept `paths` for backwards compatibility + // with a bug in JSDoc 3.2.x. + staticFilePaths = conf.default.staticFiles.include || + conf.default.staticFiles.paths || + []; + staticFileFilter = new (require('jsdoc/src/filter')).Filter(conf.default.staticFiles); + staticFileScanner = new (require('jsdoc/src/scanner')).Scanner(); + + staticFilePaths.forEach(function(filePath) { + var extraStaticFiles = staticFileScanner.scan([filePath], 10, staticFileFilter); + + extraStaticFiles.forEach(function(fileName) { + var sourcePath = fs.toDir(filePath); + var toDir = fs.toDir( fileName.replace(sourcePath, outdir) ); + fs.mkPath(toDir); + copyFile(fileName, path.join(toDir, path.basename(fileName)), function(err){if(err) console.err(err);}); + }); + }); + } + + if (sourceFilePaths.length) { + sourceFiles = shortenPaths( sourceFiles, path.commonPrefix(sourceFilePaths) ); + } + data().each(function(doclet) { + var url = helper.createLink(doclet); + helper.registerLink(doclet.longname, url); + + // add a shortened version of the full path + var docletPath; + if (doclet.meta) { + docletPath = getPathFromDoclet(doclet); + docletPath = sourceFiles[docletPath].shortened; + if (docletPath) { + doclet.meta.shortpath = docletPath; + } + } + }); + + data().each(function(doclet) { + var url = helper.longnameToUrl[doclet.longname]; + + if (url.indexOf('#') > -1) { + doclet.id = helper.longnameToUrl[doclet.longname].split(/#/).pop(); + } + else { + doclet.id = doclet.name; + } + + if ( needsSignature(doclet) ) { + addSignatureParams(doclet); + addSignatureReturns(doclet); + addAttribs(doclet); + } + }); + + // do this after the urls have all been generated + data().each(function(doclet) { + doclet.ancestors = getAncestorLinks(doclet); + + if (doclet.kind === 'member') { + addSignatureTypes(doclet); + addAttribs(doclet); + } + + if (doclet.kind === 'constant') { + addSignatureTypes(doclet); + addAttribs(doclet); + doclet.kind = 'member'; + } + }); + + var members = helper.getMembers(data); + members.tutorials = tutorials.children; + + // output pretty-printed source files by default + var outputSourceFiles = conf.default && conf.default.outputSourceFiles !== false + ? true + : false; + + // add template helpers + view.find = find; + view.linkto = linkto; + view.resolveAuthorLinks = resolveAuthorLinks; + view.tutoriallink = tutoriallink; + view.htmlsafe = htmlsafe; + view.outputSourceFiles = outputSourceFiles; + + // once for all + view.nav = buildNav(members); + attachModuleSymbols( find({ longname: {left: 'module:'} }), members.modules ); + + // generate the pretty-printed source files first so other pages can link to them + if (outputSourceFiles) { + generateSourceFiles(sourceFiles, opts.encoding); + } + + if (members.globals.length) { + generate('', 'Global', [{kind: 'globalobj'}], globalUrl); + } + + // index page displays information from package.json and lists files + var files = find({kind: 'file'}); + var packages = find({kind: 'package'}); + + generate('', 'High Fidelity API Reference', + packages.concat( + [{kind: 'mainpage', readme: opts.readme, longname: (opts.mainpagetitle) ? opts.mainpagetitle : 'Main Page'}] + ).concat(files), + indexUrl); + + // set up the lists that we'll use to generate pages + var classes = taffy(members.classes); + var modules = taffy(members.modules); + var namespaces = taffy(members.namespaces); + var mixins = taffy(members.mixins); + var externals = taffy(members.externals); + var interfaces = taffy(members.interfaces); + + Object.keys(helper.longnameToUrl).forEach(function(longname) { + var myModules = helper.find(modules, {longname: longname}); + if (myModules.length) { + generate('Module', myModules[0].name, myModules, helper.longnameToUrl[longname]); + } + + var myClasses = helper.find(classes, {longname: longname}); + if (myClasses.length) { + generate('Class', myClasses[0].name, myClasses, helper.longnameToUrl[longname]); + } + + var myNamespaces = helper.find(namespaces, {longname: longname}); + if (myNamespaces.length) { + generate('Namespace', myNamespaces[0].name, myNamespaces, helper.longnameToUrl[longname]); + } + + var myMixins = helper.find(mixins, {longname: longname}); + if (myMixins.length) { + generate('Mixin', myMixins[0].name, myMixins, helper.longnameToUrl[longname]); + } + + var myExternals = helper.find(externals, {longname: longname}); + if (myExternals.length) { + generate('External', myExternals[0].name, myExternals, helper.longnameToUrl[longname]); + } + + var myInterfaces = helper.find(interfaces, {longname: longname}); + if (myInterfaces.length) { + generate('Interface', myInterfaces[0].name, myInterfaces, helper.longnameToUrl[longname]); + } + }); + + // TODO: move the tutorial functions to templateHelper.js + function generateTutorial(title, tutorial, filename) { + var tutorialData = { + title: title, + header: tutorial.title, + content: tutorial.parse(), + children: tutorial.children + }; + + var tutorialPath = path.join(outdir, filename); + var html = view.render('tutorial.tmpl', tutorialData); + + // yes, you can use {@link} in tutorials too! + html = helper.resolveLinks(html); // turn {@link foo} into
      foo + fs.writeFileSync(tutorialPath, html, 'utf8'); + } + + // tutorials can have only one parent so there is no risk for loops + function saveChildren(node) { + node.children.forEach(function(child) { + generateTutorial('Tutorial: ' + child.title, child, helper.tutorialToUrl(child.name)); + saveChildren(child); + }); + } + + saveChildren(tutorials); +}; diff --git a/tools/jsdoc/hifi-jsdoc-template/static/fonts/Cairo-Bold.ttf b/tools/jsdoc/hifi-jsdoc-template/static/fonts/Cairo-Bold.ttf new file mode 100644 index 0000000000000000000000000000000000000000..ad884391d78a4c9012f51b6681746bb51cb7f7c0 GIT binary patch literal 170996 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 z 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�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 literal 0 HcmV?d00001 diff --git a/tools/jsdoc/hifi-jsdoc-template/static/fonts/proximanova-regular.otf b/tools/jsdoc/hifi-jsdoc-template/static/fonts/proximanova-regular.otf new file mode 100644 index 0000000000000000000000000000000000000000..27c8d8f7bf9e823f3d2b89ed8efaf401baf4b942 GIT binary patch literal 62892 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 WU`Gn&ro$r5k-bSr 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 literal 0 HcmV?d00001 diff --git a/tools/jsdoc/hifi-jsdoc-template/static/images/white-logo.png b/tools/jsdoc/hifi-jsdoc-template/static/images/white-logo.png new file mode 100644 index 0000000000000000000000000000000000000000..18cd2d88ddc2816a0d7f4b8b8554943037094b8e GIT binary patch literal 31280 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 NqW-1x#kvlU{s*yk?ZW^7 literal 0 HcmV?d00001 diff --git a/tools/jsdoc/hifi-jsdoc-template/static/scripts/collapse.js b/tools/jsdoc/hifi-jsdoc-template/static/scripts/collapse.js new file mode 100644 index 0000000000..4525c1756e --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/static/scripts/collapse.js @@ -0,0 +1,11 @@ +function hideAllButCurrent(){ + //by default all submenut items are hidden + $("nav > ul > li > ul li").hide(); + + //only current page (if it exists) should be opened + var file = window.location.pathname.split("/").pop(); + $("nav > ul > li > a[href^='"+file+"']").parent().find("> ul li").show(); +} +$( document ).ready(function() { + hideAllButCurrent(); +}); \ No newline at end of file diff --git a/tools/jsdoc/hifi-jsdoc-template/static/scripts/jquery-3.1.1.min.js b/tools/jsdoc/hifi-jsdoc-template/static/scripts/jquery-3.1.1.min.js new file mode 100644 index 0000000000..4c5be4c0fb --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/static/scripts/jquery-3.1.1.min.js @@ -0,0 +1,4 @@ +/*! jQuery v3.1.1 | (c) jQuery Foundation | jquery.org/license */ +!function(a,b){"use strict";"object"==typeof module&&"object"==typeof module.exports?module.exports=a.document?b(a,!0):function(a){if(!a.document)throw new Error("jQuery requires a window with a document");return b(a)}:b(a)}("undefined"!=typeof window?window:this,function(a,b){"use strict";var c=[],d=a.document,e=Object.getPrototypeOf,f=c.slice,g=c.concat,h=c.push,i=c.indexOf,j={},k=j.toString,l=j.hasOwnProperty,m=l.toString,n=m.call(Object),o={};function p(a,b){b=b||d;var c=b.createElement("script");c.text=a,b.head.appendChild(c).parentNode.removeChild(c)}var q="3.1.1",r=function(a,b){return new r.fn.init(a,b)},s=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,t=/^-ms-/,u=/-([a-z])/g,v=function(a,b){return b.toUpperCase()};r.fn=r.prototype={jquery:q,constructor:r,length:0,toArray:function(){return f.call(this)},get:function(a){return null==a?f.call(this):a<0?this[a+this.length]:this[a]},pushStack:function(a){var b=r.merge(this.constructor(),a);return b.prevObject=this,b},each:function(a){return r.each(this,a)},map:function(a){return this.pushStack(r.map(this,function(b,c){return a.call(b,c,b)}))},slice:function(){return this.pushStack(f.apply(this,arguments))},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},eq:function(a){var b=this.length,c=+a+(a<0?b:0);return this.pushStack(c>=0&&c0&&b-1 in a)}var x=function(a){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u="sizzle"+1*new Date,v=a.document,w=0,x=0,y=ha(),z=ha(),A=ha(),B=function(a,b){return a===b&&(l=!0),0},C={}.hasOwnProperty,D=[],E=D.pop,F=D.push,G=D.push,H=D.slice,I=function(a,b){for(var c=0,d=a.length;c+~]|"+K+")"+K+"*"),S=new RegExp("="+K+"*([^\\]'\"]*?)"+K+"*\\]","g"),T=new RegExp(N),U=new RegExp("^"+L+"$"),V={ID:new RegExp("^#("+L+")"),CLASS:new RegExp("^\\.("+L+")"),TAG:new RegExp("^("+L+"|[*])"),ATTR:new RegExp("^"+M),PSEUDO:new RegExp("^"+N),CHILD:new RegExp("^:(only|first|last|nth|nth-last)-(child|of-type)(?:\\("+K+"*(even|odd|(([+-]|)(\\d*)n|)"+K+"*(?:([+-]|)"+K+"*(\\d+)|))"+K+"*\\)|)","i"),bool:new RegExp("^(?:"+J+")$","i"),needsContext:new RegExp("^"+K+"*[>+~]|:(even|odd|eq|gt|lt|nth|first|last)(?:\\("+K+"*((?:-\\d)?\\d*)"+K+"*\\)|)(?=[^-]|$)","i")},W=/^(?:input|select|textarea|button)$/i,X=/^h\d$/i,Y=/^[^{]+\{\s*\[native \w/,Z=/^(?:#([\w-]+)|(\w+)|\.([\w-]+))$/,$=/[+~]/,_=new RegExp("\\\\([\\da-f]{1,6}"+K+"?|("+K+")|.)","ig"),aa=function(a,b,c){var d="0x"+b-65536;return d!==d||c?b:d<0?String.fromCharCode(d+65536):String.fromCharCode(d>>10|55296,1023&d|56320)},ba=/([\0-\x1f\x7f]|^-?\d)|^-$|[^\0-\x1f\x7f-\uFFFF\w-]/g,ca=function(a,b){return b?"\0"===a?"\ufffd":a.slice(0,-1)+"\\"+a.charCodeAt(a.length-1).toString(16)+" ":"\\"+a},da=function(){m()},ea=ta(function(a){return a.disabled===!0&&("form"in a||"label"in a)},{dir:"parentNode",next:"legend"});try{G.apply(D=H.call(v.childNodes),v.childNodes),D[v.childNodes.length].nodeType}catch(fa){G={apply:D.length?function(a,b){F.apply(a,H.call(b))}:function(a,b){var c=a.length,d=0;while(a[c++]=b[d++]);a.length=c-1}}}function ga(a,b,d,e){var f,h,j,k,l,o,r,s=b&&b.ownerDocument,w=b?b.nodeType:9;if(d=d||[],"string"!=typeof a||!a||1!==w&&9!==w&&11!==w)return d;if(!e&&((b?b.ownerDocument||b:v)!==n&&m(b),b=b||n,p)){if(11!==w&&(l=Z.exec(a)))if(f=l[1]){if(9===w){if(!(j=b.getElementById(f)))return d;if(j.id===f)return d.push(j),d}else if(s&&(j=s.getElementById(f))&&t(b,j)&&j.id===f)return d.push(j),d}else{if(l[2])return G.apply(d,b.getElementsByTagName(a)),d;if((f=l[3])&&c.getElementsByClassName&&b.getElementsByClassName)return G.apply(d,b.getElementsByClassName(f)),d}if(c.qsa&&!A[a+" "]&&(!q||!q.test(a))){if(1!==w)s=b,r=a;else if("object"!==b.nodeName.toLowerCase()){(k=b.getAttribute("id"))?k=k.replace(ba,ca):b.setAttribute("id",k=u),o=g(a),h=o.length;while(h--)o[h]="#"+k+" "+sa(o[h]);r=o.join(","),s=$.test(a)&&qa(b.parentNode)||b}if(r)try{return G.apply(d,s.querySelectorAll(r)),d}catch(x){}finally{k===u&&b.removeAttribute("id")}}}return i(a.replace(P,"$1"),b,d,e)}function ha(){var a=[];function b(c,e){return a.push(c+" ")>d.cacheLength&&delete b[a.shift()],b[c+" "]=e}return b}function ia(a){return a[u]=!0,a}function ja(a){var b=n.createElement("fieldset");try{return!!a(b)}catch(c){return!1}finally{b.parentNode&&b.parentNode.removeChild(b),b=null}}function ka(a,b){var c=a.split("|"),e=c.length;while(e--)d.attrHandle[c[e]]=b}function la(a,b){var c=b&&a,d=c&&1===a.nodeType&&1===b.nodeType&&a.sourceIndex-b.sourceIndex;if(d)return d;if(c)while(c=c.nextSibling)if(c===b)return-1;return a?1:-1}function ma(a){return function(b){var c=b.nodeName.toLowerCase();return"input"===c&&b.type===a}}function na(a){return function(b){var c=b.nodeName.toLowerCase();return("input"===c||"button"===c)&&b.type===a}}function oa(a){return function(b){return"form"in b?b.parentNode&&b.disabled===!1?"label"in b?"label"in b.parentNode?b.parentNode.disabled===a:b.disabled===a:b.isDisabled===a||b.isDisabled!==!a&&ea(b)===a:b.disabled===a:"label"in b&&b.disabled===a}}function pa(a){return ia(function(b){return b=+b,ia(function(c,d){var e,f=a([],c.length,b),g=f.length;while(g--)c[e=f[g]]&&(c[e]=!(d[e]=c[e]))})})}function qa(a){return a&&"undefined"!=typeof a.getElementsByTagName&&a}c=ga.support={},f=ga.isXML=function(a){var b=a&&(a.ownerDocument||a).documentElement;return!!b&&"HTML"!==b.nodeName},m=ga.setDocument=function(a){var b,e,g=a?a.ownerDocument||a:v;return g!==n&&9===g.nodeType&&g.documentElement?(n=g,o=n.documentElement,p=!f(n),v!==n&&(e=n.defaultView)&&e.top!==e&&(e.addEventListener?e.addEventListener("unload",da,!1):e.attachEvent&&e.attachEvent("onunload",da)),c.attributes=ja(function(a){return a.className="i",!a.getAttribute("className")}),c.getElementsByTagName=ja(function(a){return a.appendChild(n.createComment("")),!a.getElementsByTagName("*").length}),c.getElementsByClassName=Y.test(n.getElementsByClassName),c.getById=ja(function(a){return o.appendChild(a).id=u,!n.getElementsByName||!n.getElementsByName(u).length}),c.getById?(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){return a.getAttribute("id")===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c=b.getElementById(a);return c?[c]:[]}}):(d.filter.ID=function(a){var b=a.replace(_,aa);return function(a){var c="undefined"!=typeof a.getAttributeNode&&a.getAttributeNode("id");return c&&c.value===b}},d.find.ID=function(a,b){if("undefined"!=typeof b.getElementById&&p){var c,d,e,f=b.getElementById(a);if(f){if(c=f.getAttributeNode("id"),c&&c.value===a)return[f];e=b.getElementsByName(a),d=0;while(f=e[d++])if(c=f.getAttributeNode("id"),c&&c.value===a)return[f]}return[]}}),d.find.TAG=c.getElementsByTagName?function(a,b){return"undefined"!=typeof b.getElementsByTagName?b.getElementsByTagName(a):c.qsa?b.querySelectorAll(a):void 0}:function(a,b){var c,d=[],e=0,f=b.getElementsByTagName(a);if("*"===a){while(c=f[e++])1===c.nodeType&&d.push(c);return d}return f},d.find.CLASS=c.getElementsByClassName&&function(a,b){if("undefined"!=typeof b.getElementsByClassName&&p)return b.getElementsByClassName(a)},r=[],q=[],(c.qsa=Y.test(n.querySelectorAll))&&(ja(function(a){o.appendChild(a).innerHTML="",a.querySelectorAll("[msallowcapture^='']").length&&q.push("[*^$]="+K+"*(?:''|\"\")"),a.querySelectorAll("[selected]").length||q.push("\\["+K+"*(?:value|"+J+")"),a.querySelectorAll("[id~="+u+"-]").length||q.push("~="),a.querySelectorAll(":checked").length||q.push(":checked"),a.querySelectorAll("a#"+u+"+*").length||q.push(".#.+[+~]")}),ja(function(a){a.innerHTML="";var b=n.createElement("input");b.setAttribute("type","hidden"),a.appendChild(b).setAttribute("name","D"),a.querySelectorAll("[name=d]").length&&q.push("name"+K+"*[*^$|!~]?="),2!==a.querySelectorAll(":enabled").length&&q.push(":enabled",":disabled"),o.appendChild(a).disabled=!0,2!==a.querySelectorAll(":disabled").length&&q.push(":enabled",":disabled"),a.querySelectorAll("*,:x"),q.push(",.*:")})),(c.matchesSelector=Y.test(s=o.matches||o.webkitMatchesSelector||o.mozMatchesSelector||o.oMatchesSelector||o.msMatchesSelector))&&ja(function(a){c.disconnectedMatch=s.call(a,"*"),s.call(a,"[s!='']:x"),r.push("!=",N)}),q=q.length&&new RegExp(q.join("|")),r=r.length&&new RegExp(r.join("|")),b=Y.test(o.compareDocumentPosition),t=b||Y.test(o.contains)?function(a,b){var c=9===a.nodeType?a.documentElement:a,d=b&&b.parentNode;return a===d||!(!d||1!==d.nodeType||!(c.contains?c.contains(d):a.compareDocumentPosition&&16&a.compareDocumentPosition(d)))}:function(a,b){if(b)while(b=b.parentNode)if(b===a)return!0;return!1},B=b?function(a,b){if(a===b)return l=!0,0;var d=!a.compareDocumentPosition-!b.compareDocumentPosition;return d?d:(d=(a.ownerDocument||a)===(b.ownerDocument||b)?a.compareDocumentPosition(b):1,1&d||!c.sortDetached&&b.compareDocumentPosition(a)===d?a===n||a.ownerDocument===v&&t(v,a)?-1:b===n||b.ownerDocument===v&&t(v,b)?1:k?I(k,a)-I(k,b):0:4&d?-1:1)}:function(a,b){if(a===b)return l=!0,0;var c,d=0,e=a.parentNode,f=b.parentNode,g=[a],h=[b];if(!e||!f)return a===n?-1:b===n?1:e?-1:f?1:k?I(k,a)-I(k,b):0;if(e===f)return la(a,b);c=a;while(c=c.parentNode)g.unshift(c);c=b;while(c=c.parentNode)h.unshift(c);while(g[d]===h[d])d++;return d?la(g[d],h[d]):g[d]===v?-1:h[d]===v?1:0},n):n},ga.matches=function(a,b){return ga(a,null,null,b)},ga.matchesSelector=function(a,b){if((a.ownerDocument||a)!==n&&m(a),b=b.replace(S,"='$1']"),c.matchesSelector&&p&&!A[b+" "]&&(!r||!r.test(b))&&(!q||!q.test(b)))try{var d=s.call(a,b);if(d||c.disconnectedMatch||a.document&&11!==a.document.nodeType)return d}catch(e){}return ga(b,n,null,[a]).length>0},ga.contains=function(a,b){return(a.ownerDocument||a)!==n&&m(a),t(a,b)},ga.attr=function(a,b){(a.ownerDocument||a)!==n&&m(a);var e=d.attrHandle[b.toLowerCase()],f=e&&C.call(d.attrHandle,b.toLowerCase())?e(a,b,!p):void 0;return void 0!==f?f:c.attributes||!p?a.getAttribute(b):(f=a.getAttributeNode(b))&&f.specified?f.value:null},ga.escape=function(a){return(a+"").replace(ba,ca)},ga.error=function(a){throw new Error("Syntax error, unrecognized expression: "+a)},ga.uniqueSort=function(a){var b,d=[],e=0,f=0;if(l=!c.detectDuplicates,k=!c.sortStable&&a.slice(0),a.sort(B),l){while(b=a[f++])b===a[f]&&(e=d.push(f));while(e--)a.splice(d[e],1)}return k=null,a},e=ga.getText=function(a){var b,c="",d=0,f=a.nodeType;if(f){if(1===f||9===f||11===f){if("string"==typeof a.textContent)return a.textContent;for(a=a.firstChild;a;a=a.nextSibling)c+=e(a)}else if(3===f||4===f)return a.nodeValue}else while(b=a[d++])c+=e(b);return c},d=ga.selectors={cacheLength:50,createPseudo:ia,match:V,attrHandle:{},find:{},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(a){return a[1]=a[1].replace(_,aa),a[3]=(a[3]||a[4]||a[5]||"").replace(_,aa),"~="===a[2]&&(a[3]=" "+a[3]+" "),a.slice(0,4)},CHILD:function(a){return a[1]=a[1].toLowerCase(),"nth"===a[1].slice(0,3)?(a[3]||ga.error(a[0]),a[4]=+(a[4]?a[5]+(a[6]||1):2*("even"===a[3]||"odd"===a[3])),a[5]=+(a[7]+a[8]||"odd"===a[3])):a[3]&&ga.error(a[0]),a},PSEUDO:function(a){var b,c=!a[6]&&a[2];return V.CHILD.test(a[0])?null:(a[3]?a[2]=a[4]||a[5]||"":c&&T.test(c)&&(b=g(c,!0))&&(b=c.indexOf(")",c.length-b)-c.length)&&(a[0]=a[0].slice(0,b),a[2]=c.slice(0,b)),a.slice(0,3))}},filter:{TAG:function(a){var b=a.replace(_,aa).toLowerCase();return"*"===a?function(){return!0}:function(a){return a.nodeName&&a.nodeName.toLowerCase()===b}},CLASS:function(a){var b=y[a+" "];return b||(b=new RegExp("(^|"+K+")"+a+"("+K+"|$)"))&&y(a,function(a){return b.test("string"==typeof a.className&&a.className||"undefined"!=typeof a.getAttribute&&a.getAttribute("class")||"")})},ATTR:function(a,b,c){return function(d){var e=ga.attr(d,a);return null==e?"!="===b:!b||(e+="","="===b?e===c:"!="===b?e!==c:"^="===b?c&&0===e.indexOf(c):"*="===b?c&&e.indexOf(c)>-1:"$="===b?c&&e.slice(-c.length)===c:"~="===b?(" "+e.replace(O," ")+" ").indexOf(c)>-1:"|="===b&&(e===c||e.slice(0,c.length+1)===c+"-"))}},CHILD:function(a,b,c,d,e){var f="nth"!==a.slice(0,3),g="last"!==a.slice(-4),h="of-type"===b;return 1===d&&0===e?function(a){return!!a.parentNode}:function(b,c,i){var j,k,l,m,n,o,p=f!==g?"nextSibling":"previousSibling",q=b.parentNode,r=h&&b.nodeName.toLowerCase(),s=!i&&!h,t=!1;if(q){if(f){while(p){m=b;while(m=m[p])if(h?m.nodeName.toLowerCase()===r:1===m.nodeType)return!1;o=p="only"===a&&!o&&"nextSibling"}return!0}if(o=[g?q.firstChild:q.lastChild],g&&s){m=q,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n&&j[2],m=n&&q.childNodes[n];while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if(1===m.nodeType&&++t&&m===b){k[a]=[w,n,t];break}}else if(s&&(m=b,l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),j=k[a]||[],n=j[0]===w&&j[1],t=n),t===!1)while(m=++n&&m&&m[p]||(t=n=0)||o.pop())if((h?m.nodeName.toLowerCase()===r:1===m.nodeType)&&++t&&(s&&(l=m[u]||(m[u]={}),k=l[m.uniqueID]||(l[m.uniqueID]={}),k[a]=[w,t]),m===b))break;return t-=e,t===d||t%d===0&&t/d>=0}}},PSEUDO:function(a,b){var c,e=d.pseudos[a]||d.setFilters[a.toLowerCase()]||ga.error("unsupported pseudo: "+a);return e[u]?e(b):e.length>1?(c=[a,a,"",b],d.setFilters.hasOwnProperty(a.toLowerCase())?ia(function(a,c){var d,f=e(a,b),g=f.length;while(g--)d=I(a,f[g]),a[d]=!(c[d]=f[g])}):function(a){return e(a,0,c)}):e}},pseudos:{not:ia(function(a){var b=[],c=[],d=h(a.replace(P,"$1"));return d[u]?ia(function(a,b,c,e){var f,g=d(a,null,e,[]),h=a.length;while(h--)(f=g[h])&&(a[h]=!(b[h]=f))}):function(a,e,f){return b[0]=a,d(b,null,f,c),b[0]=null,!c.pop()}}),has:ia(function(a){return function(b){return ga(a,b).length>0}}),contains:ia(function(a){return a=a.replace(_,aa),function(b){return(b.textContent||b.innerText||e(b)).indexOf(a)>-1}}),lang:ia(function(a){return U.test(a||"")||ga.error("unsupported lang: "+a),a=a.replace(_,aa).toLowerCase(),function(b){var c;do if(c=p?b.lang:b.getAttribute("xml:lang")||b.getAttribute("lang"))return c=c.toLowerCase(),c===a||0===c.indexOf(a+"-");while((b=b.parentNode)&&1===b.nodeType);return!1}}),target:function(b){var c=a.location&&a.location.hash;return c&&c.slice(1)===b.id},root:function(a){return a===o},focus:function(a){return a===n.activeElement&&(!n.hasFocus||n.hasFocus())&&!!(a.type||a.href||~a.tabIndex)},enabled:oa(!1),disabled:oa(!0),checked:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&!!a.checked||"option"===b&&!!a.selected},selected:function(a){return a.parentNode&&a.parentNode.selectedIndex,a.selected===!0},empty:function(a){for(a=a.firstChild;a;a=a.nextSibling)if(a.nodeType<6)return!1;return!0},parent:function(a){return!d.pseudos.empty(a)},header:function(a){return X.test(a.nodeName)},input:function(a){return W.test(a.nodeName)},button:function(a){var b=a.nodeName.toLowerCase();return"input"===b&&"button"===a.type||"button"===b},text:function(a){var b;return"input"===a.nodeName.toLowerCase()&&"text"===a.type&&(null==(b=a.getAttribute("type"))||"text"===b.toLowerCase())},first:pa(function(){return[0]}),last:pa(function(a,b){return[b-1]}),eq:pa(function(a,b,c){return[c<0?c+b:c]}),even:pa(function(a,b){for(var c=0;c=0;)a.push(d);return a}),gt:pa(function(a,b,c){for(var d=c<0?c+b:c;++d1?function(b,c,d){var e=a.length;while(e--)if(!a[e](b,c,d))return!1;return!0}:a[0]}function va(a,b,c){for(var d=0,e=b.length;d-1&&(f[j]=!(g[j]=l))}}else r=wa(r===g?r.splice(o,r.length):r),e?e(null,g,r,i):G.apply(g,r)})}function ya(a){for(var b,c,e,f=a.length,g=d.relative[a[0].type],h=g||d.relative[" "],i=g?1:0,k=ta(function(a){return a===b},h,!0),l=ta(function(a){return I(b,a)>-1},h,!0),m=[function(a,c,d){var e=!g&&(d||c!==j)||((b=c).nodeType?k(a,c,d):l(a,c,d));return b=null,e}];i1&&ua(m),i>1&&sa(a.slice(0,i-1).concat({value:" "===a[i-2].type?"*":""})).replace(P,"$1"),c,i0,e=a.length>0,f=function(f,g,h,i,k){var l,o,q,r=0,s="0",t=f&&[],u=[],v=j,x=f||e&&d.find.TAG("*",k),y=w+=null==v?1:Math.random()||.1,z=x.length;for(k&&(j=g===n||g||k);s!==z&&null!=(l=x[s]);s++){if(e&&l){o=0,g||l.ownerDocument===n||(m(l),h=!p);while(q=a[o++])if(q(l,g||n,h)){i.push(l);break}k&&(w=y)}c&&((l=!q&&l)&&r--,f&&t.push(l))}if(r+=s,c&&s!==r){o=0;while(q=b[o++])q(t,u,g,h);if(f){if(r>0)while(s--)t[s]||u[s]||(u[s]=E.call(i));u=wa(u)}G.apply(i,u),k&&!f&&u.length>0&&r+b.length>1&&ga.uniqueSort(i)}return k&&(w=y,j=v),t};return c?ia(f):f}return h=ga.compile=function(a,b){var c,d=[],e=[],f=A[a+" "];if(!f){b||(b=g(a)),c=b.length;while(c--)f=ya(b[c]),f[u]?d.push(f):e.push(f);f=A(a,za(e,d)),f.selector=a}return f},i=ga.select=function(a,b,c,e){var f,i,j,k,l,m="function"==typeof a&&a,n=!e&&g(a=m.selector||a);if(c=c||[],1===n.length){if(i=n[0]=n[0].slice(0),i.length>2&&"ID"===(j=i[0]).type&&9===b.nodeType&&p&&d.relative[i[1].type]){if(b=(d.find.ID(j.matches[0].replace(_,aa),b)||[])[0],!b)return c;m&&(b=b.parentNode),a=a.slice(i.shift().value.length)}f=V.needsContext.test(a)?0:i.length;while(f--){if(j=i[f],d.relative[k=j.type])break;if((l=d.find[k])&&(e=l(j.matches[0].replace(_,aa),$.test(i[0].type)&&qa(b.parentNode)||b))){if(i.splice(f,1),a=e.length&&sa(i),!a)return G.apply(c,e),c;break}}}return(m||h(a,n))(e,b,!p,c,!b||$.test(a)&&qa(b.parentNode)||b),c},c.sortStable=u.split("").sort(B).join("")===u,c.detectDuplicates=!!l,m(),c.sortDetached=ja(function(a){return 1&a.compareDocumentPosition(n.createElement("fieldset"))}),ja(function(a){return a.innerHTML="","#"===a.firstChild.getAttribute("href")})||ka("type|href|height|width",function(a,b,c){if(!c)return a.getAttribute(b,"type"===b.toLowerCase()?1:2)}),c.attributes&&ja(function(a){return a.innerHTML="",a.firstChild.setAttribute("value",""),""===a.firstChild.getAttribute("value")})||ka("value",function(a,b,c){if(!c&&"input"===a.nodeName.toLowerCase())return a.defaultValue}),ja(function(a){return null==a.getAttribute("disabled")})||ka(J,function(a,b,c){var d;if(!c)return a[b]===!0?b.toLowerCase():(d=a.getAttributeNode(b))&&d.specified?d.value:null}),ga}(a);r.find=x,r.expr=x.selectors,r.expr[":"]=r.expr.pseudos,r.uniqueSort=r.unique=x.uniqueSort,r.text=x.getText,r.isXMLDoc=x.isXML,r.contains=x.contains,r.escapeSelector=x.escape;var y=function(a,b,c){var d=[],e=void 0!==c;while((a=a[b])&&9!==a.nodeType)if(1===a.nodeType){if(e&&r(a).is(c))break;d.push(a)}return d},z=function(a,b){for(var c=[];a;a=a.nextSibling)1===a.nodeType&&a!==b&&c.push(a);return c},A=r.expr.match.needsContext,B=/^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i,C=/^.[^:#\[\.,]*$/;function D(a,b,c){return r.isFunction(b)?r.grep(a,function(a,d){return!!b.call(a,d,a)!==c}):b.nodeType?r.grep(a,function(a){return a===b!==c}):"string"!=typeof b?r.grep(a,function(a){return i.call(b,a)>-1!==c}):C.test(b)?r.filter(b,a,c):(b=r.filter(b,a),r.grep(a,function(a){return i.call(b,a)>-1!==c&&1===a.nodeType}))}r.filter=function(a,b,c){var d=b[0];return c&&(a=":not("+a+")"),1===b.length&&1===d.nodeType?r.find.matchesSelector(d,a)?[d]:[]:r.find.matches(a,r.grep(b,function(a){return 1===a.nodeType}))},r.fn.extend({find:function(a){var b,c,d=this.length,e=this;if("string"!=typeof a)return this.pushStack(r(a).filter(function(){for(b=0;b1?r.uniqueSort(c):c},filter:function(a){return this.pushStack(D(this,a||[],!1))},not:function(a){return this.pushStack(D(this,a||[],!0))},is:function(a){return!!D(this,"string"==typeof a&&A.test(a)?r(a):a||[],!1).length}});var E,F=/^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/,G=r.fn.init=function(a,b,c){var e,f;if(!a)return this;if(c=c||E,"string"==typeof a){if(e="<"===a[0]&&">"===a[a.length-1]&&a.length>=3?[null,a,null]:F.exec(a),!e||!e[1]&&b)return!b||b.jquery?(b||c).find(a):this.constructor(b).find(a);if(e[1]){if(b=b instanceof r?b[0]:b,r.merge(this,r.parseHTML(e[1],b&&b.nodeType?b.ownerDocument||b:d,!0)),B.test(e[1])&&r.isPlainObject(b))for(e in b)r.isFunction(this[e])?this[e](b[e]):this.attr(e,b[e]);return this}return f=d.getElementById(e[2]),f&&(this[0]=f,this.length=1),this}return a.nodeType?(this[0]=a,this.length=1,this):r.isFunction(a)?void 0!==c.ready?c.ready(a):a(r):r.makeArray(a,this)};G.prototype=r.fn,E=r(d);var H=/^(?:parents|prev(?:Until|All))/,I={children:!0,contents:!0,next:!0,prev:!0};r.fn.extend({has:function(a){var b=r(a,this),c=b.length;return this.filter(function(){for(var a=0;a-1:1===c.nodeType&&r.find.matchesSelector(c,a))){f.push(c);break}return this.pushStack(f.length>1?r.uniqueSort(f):f)},index:function(a){return a?"string"==typeof a?i.call(r(a),this[0]):i.call(this,a.jquery?a[0]:a):this[0]&&this[0].parentNode?this.first().prevAll().length:-1},add:function(a,b){return this.pushStack(r.uniqueSort(r.merge(this.get(),r(a,b))))},addBack:function(a){return this.add(null==a?this.prevObject:this.prevObject.filter(a))}});function J(a,b){while((a=a[b])&&1!==a.nodeType);return a}r.each({parent:function(a){var b=a.parentNode;return b&&11!==b.nodeType?b:null},parents:function(a){return y(a,"parentNode")},parentsUntil:function(a,b,c){return y(a,"parentNode",c)},next:function(a){return J(a,"nextSibling")},prev:function(a){return J(a,"previousSibling")},nextAll:function(a){return y(a,"nextSibling")},prevAll:function(a){return y(a,"previousSibling")},nextUntil:function(a,b,c){return y(a,"nextSibling",c)},prevUntil:function(a,b,c){return y(a,"previousSibling",c)},siblings:function(a){return z((a.parentNode||{}).firstChild,a)},children:function(a){return z(a.firstChild)},contents:function(a){return a.contentDocument||r.merge([],a.childNodes)}},function(a,b){r.fn[a]=function(c,d){var e=r.map(this,b,c);return"Until"!==a.slice(-5)&&(d=c),d&&"string"==typeof d&&(e=r.filter(d,e)),this.length>1&&(I[a]||r.uniqueSort(e),H.test(a)&&e.reverse()),this.pushStack(e)}});var K=/[^\x20\t\r\n\f]+/g;function L(a){var b={};return r.each(a.match(K)||[],function(a,c){b[c]=!0}),b}r.Callbacks=function(a){a="string"==typeof a?L(a):r.extend({},a);var b,c,d,e,f=[],g=[],h=-1,i=function(){for(e=a.once,d=b=!0;g.length;h=-1){c=g.shift();while(++h-1)f.splice(c,1),c<=h&&h--}),this},has:function(a){return a?r.inArray(a,f)>-1:f.length>0},empty:function(){return f&&(f=[]),this},disable:function(){return e=g=[],f=c="",this},disabled:function(){return!f},lock:function(){return e=g=[],c||b||(f=c=""),this},locked:function(){return!!e},fireWith:function(a,c){return e||(c=c||[],c=[a,c.slice?c.slice():c],g.push(c),b||i()),this},fire:function(){return j.fireWith(this,arguments),this},fired:function(){return!!d}};return j};function M(a){return a}function N(a){throw a}function O(a,b,c){var d;try{a&&r.isFunction(d=a.promise)?d.call(a).done(b).fail(c):a&&r.isFunction(d=a.then)?d.call(a,b,c):b.call(void 0,a)}catch(a){c.call(void 0,a)}}r.extend({Deferred:function(b){var c=[["notify","progress",r.Callbacks("memory"),r.Callbacks("memory"),2],["resolve","done",r.Callbacks("once memory"),r.Callbacks("once memory"),0,"resolved"],["reject","fail",r.Callbacks("once memory"),r.Callbacks("once memory"),1,"rejected"]],d="pending",e={state:function(){return d},always:function(){return f.done(arguments).fail(arguments),this},"catch":function(a){return e.then(null,a)},pipe:function(){var a=arguments;return r.Deferred(function(b){r.each(c,function(c,d){var e=r.isFunction(a[d[4]])&&a[d[4]];f[d[1]](function(){var a=e&&e.apply(this,arguments);a&&r.isFunction(a.promise)?a.promise().progress(b.notify).done(b.resolve).fail(b.reject):b[d[0]+"With"](this,e?[a]:arguments)})}),a=null}).promise()},then:function(b,d,e){var f=0;function g(b,c,d,e){return function(){var h=this,i=arguments,j=function(){var a,j;if(!(b=f&&(d!==N&&(h=void 0,i=[a]),c.rejectWith(h,i))}};b?k():(r.Deferred.getStackHook&&(k.stackTrace=r.Deferred.getStackHook()),a.setTimeout(k))}}return r.Deferred(function(a){c[0][3].add(g(0,a,r.isFunction(e)?e:M,a.notifyWith)),c[1][3].add(g(0,a,r.isFunction(b)?b:M)),c[2][3].add(g(0,a,r.isFunction(d)?d:N))}).promise()},promise:function(a){return null!=a?r.extend(a,e):e}},f={};return r.each(c,function(a,b){var g=b[2],h=b[5];e[b[1]]=g.add,h&&g.add(function(){d=h},c[3-a][2].disable,c[0][2].lock),g.add(b[3].fire),f[b[0]]=function(){return f[b[0]+"With"](this===f?void 0:this,arguments),this},f[b[0]+"With"]=g.fireWith}),e.promise(f),b&&b.call(f,f),f},when:function(a){var b=arguments.length,c=b,d=Array(c),e=f.call(arguments),g=r.Deferred(),h=function(a){return function(c){d[a]=this,e[a]=arguments.length>1?f.call(arguments):c,--b||g.resolveWith(d,e)}};if(b<=1&&(O(a,g.done(h(c)).resolve,g.reject),"pending"===g.state()||r.isFunction(e[c]&&e[c].then)))return g.then();while(c--)O(e[c],h(c),g.reject);return g.promise()}});var P=/^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/;r.Deferred.exceptionHook=function(b,c){a.console&&a.console.warn&&b&&P.test(b.name)&&a.console.warn("jQuery.Deferred exception: "+b.message,b.stack,c)},r.readyException=function(b){a.setTimeout(function(){throw b})};var Q=r.Deferred();r.fn.ready=function(a){return Q.then(a)["catch"](function(a){r.readyException(a)}),this},r.extend({isReady:!1,readyWait:1,holdReady:function(a){a?r.readyWait++:r.ready(!0)},ready:function(a){(a===!0?--r.readyWait:r.isReady)||(r.isReady=!0,a!==!0&&--r.readyWait>0||Q.resolveWith(d,[r]))}}),r.ready.then=Q.then;function R(){d.removeEventListener("DOMContentLoaded",R), +a.removeEventListener("load",R),r.ready()}"complete"===d.readyState||"loading"!==d.readyState&&!d.documentElement.doScroll?a.setTimeout(r.ready):(d.addEventListener("DOMContentLoaded",R),a.addEventListener("load",R));var S=function(a,b,c,d,e,f,g){var h=0,i=a.length,j=null==c;if("object"===r.type(c)){e=!0;for(h in c)S(a,b,h,c[h],!0,f,g)}else if(void 0!==d&&(e=!0,r.isFunction(d)||(g=!0),j&&(g?(b.call(a,d),b=null):(j=b,b=function(a,b,c){return j.call(r(a),c)})),b))for(;h1,null,!0)},removeData:function(a){return this.each(function(){W.remove(this,a)})}}),r.extend({queue:function(a,b,c){var d;if(a)return b=(b||"fx")+"queue",d=V.get(a,b),c&&(!d||r.isArray(c)?d=V.access(a,b,r.makeArray(c)):d.push(c)),d||[]},dequeue:function(a,b){b=b||"fx";var c=r.queue(a,b),d=c.length,e=c.shift(),f=r._queueHooks(a,b),g=function(){r.dequeue(a,b)};"inprogress"===e&&(e=c.shift(),d--),e&&("fx"===b&&c.unshift("inprogress"),delete f.stop,e.call(a,g,f)),!d&&f&&f.empty.fire()},_queueHooks:function(a,b){var c=b+"queueHooks";return V.get(a,c)||V.access(a,c,{empty:r.Callbacks("once memory").add(function(){V.remove(a,[b+"queue",c])})})}}),r.fn.extend({queue:function(a,b){var c=2;return"string"!=typeof a&&(b=a,a="fx",c--),arguments.length\x20\t\r\n\f]+)/i,ka=/^$|\/(?:java|ecma)script/i,la={option:[1,""],thead:[1,"","
      "],col:[2,"","
      "],tr:[2,"","
      "],td:[3,"","
      "],_default:[0,"",""]};la.optgroup=la.option,la.tbody=la.tfoot=la.colgroup=la.caption=la.thead,la.th=la.td;function ma(a,b){var c;return c="undefined"!=typeof a.getElementsByTagName?a.getElementsByTagName(b||"*"):"undefined"!=typeof a.querySelectorAll?a.querySelectorAll(b||"*"):[],void 0===b||b&&r.nodeName(a,b)?r.merge([a],c):c}function na(a,b){for(var c=0,d=a.length;c-1)e&&e.push(f);else if(j=r.contains(f.ownerDocument,f),g=ma(l.appendChild(f),"script"),j&&na(g),c){k=0;while(f=g[k++])ka.test(f.type||"")&&c.push(f)}return l}!function(){var a=d.createDocumentFragment(),b=a.appendChild(d.createElement("div")),c=d.createElement("input");c.setAttribute("type","radio"),c.setAttribute("checked","checked"),c.setAttribute("name","t"),b.appendChild(c),o.checkClone=b.cloneNode(!0).cloneNode(!0).lastChild.checked,b.innerHTML="",o.noCloneChecked=!!b.cloneNode(!0).lastChild.defaultValue}();var qa=d.documentElement,ra=/^key/,sa=/^(?:mouse|pointer|contextmenu|drag|drop)|click/,ta=/^([^.]*)(?:\.(.+)|)/;function ua(){return!0}function va(){return!1}function wa(){try{return d.activeElement}catch(a){}}function xa(a,b,c,d,e,f){var g,h;if("object"==typeof b){"string"!=typeof c&&(d=d||c,c=void 0);for(h in b)xa(a,h,c,d,b[h],f);return a}if(null==d&&null==e?(e=c,d=c=void 0):null==e&&("string"==typeof c?(e=d,d=void 0):(e=d,d=c,c=void 0)),e===!1)e=va;else if(!e)return a;return 1===f&&(g=e,e=function(a){return r().off(a),g.apply(this,arguments)},e.guid=g.guid||(g.guid=r.guid++)),a.each(function(){r.event.add(this,b,e,d,c)})}r.event={global:{},add:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.get(a);if(q){c.handler&&(f=c,c=f.handler,e=f.selector),e&&r.find.matchesSelector(qa,e),c.guid||(c.guid=r.guid++),(i=q.events)||(i=q.events={}),(g=q.handle)||(g=q.handle=function(b){return"undefined"!=typeof r&&r.event.triggered!==b.type?r.event.dispatch.apply(a,arguments):void 0}),b=(b||"").match(K)||[""],j=b.length;while(j--)h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n&&(l=r.event.special[n]||{},n=(e?l.delegateType:l.bindType)||n,l=r.event.special[n]||{},k=r.extend({type:n,origType:p,data:d,handler:c,guid:c.guid,selector:e,needsContext:e&&r.expr.match.needsContext.test(e),namespace:o.join(".")},f),(m=i[n])||(m=i[n]=[],m.delegateCount=0,l.setup&&l.setup.call(a,d,o,g)!==!1||a.addEventListener&&a.addEventListener(n,g)),l.add&&(l.add.call(a,k),k.handler.guid||(k.handler.guid=c.guid)),e?m.splice(m.delegateCount++,0,k):m.push(k),r.event.global[n]=!0)}},remove:function(a,b,c,d,e){var f,g,h,i,j,k,l,m,n,o,p,q=V.hasData(a)&&V.get(a);if(q&&(i=q.events)){b=(b||"").match(K)||[""],j=b.length;while(j--)if(h=ta.exec(b[j])||[],n=p=h[1],o=(h[2]||"").split(".").sort(),n){l=r.event.special[n]||{},n=(d?l.delegateType:l.bindType)||n,m=i[n]||[],h=h[2]&&new RegExp("(^|\\.)"+o.join("\\.(?:.*\\.|)")+"(\\.|$)"),g=f=m.length;while(f--)k=m[f],!e&&p!==k.origType||c&&c.guid!==k.guid||h&&!h.test(k.namespace)||d&&d!==k.selector&&("**"!==d||!k.selector)||(m.splice(f,1),k.selector&&m.delegateCount--,l.remove&&l.remove.call(a,k));g&&!m.length&&(l.teardown&&l.teardown.call(a,o,q.handle)!==!1||r.removeEvent(a,n,q.handle),delete i[n])}else for(n in i)r.event.remove(a,n+b[j],c,d,!0);r.isEmptyObject(i)&&V.remove(a,"handle events")}},dispatch:function(a){var b=r.event.fix(a),c,d,e,f,g,h,i=new Array(arguments.length),j=(V.get(this,"events")||{})[b.type]||[],k=r.event.special[b.type]||{};for(i[0]=b,c=1;c=1))for(;j!==this;j=j.parentNode||this)if(1===j.nodeType&&("click"!==a.type||j.disabled!==!0)){for(f=[],g={},c=0;c-1:r.find(e,this,null,[j]).length),g[e]&&f.push(d);f.length&&h.push({elem:j,handlers:f})}return j=this,i\x20\t\r\n\f]*)[^>]*)\/>/gi,za=/\s*$/g;function Da(a,b){return r.nodeName(a,"table")&&r.nodeName(11!==b.nodeType?b:b.firstChild,"tr")?a.getElementsByTagName("tbody")[0]||a:a}function Ea(a){return a.type=(null!==a.getAttribute("type"))+"/"+a.type,a}function Fa(a){var b=Ba.exec(a.type);return b?a.type=b[1]:a.removeAttribute("type"),a}function Ga(a,b){var c,d,e,f,g,h,i,j;if(1===b.nodeType){if(V.hasData(a)&&(f=V.access(a),g=V.set(b,f),j=f.events)){delete g.handle,g.events={};for(e in j)for(c=0,d=j[e].length;c1&&"string"==typeof q&&!o.checkClone&&Aa.test(q))return a.each(function(e){var f=a.eq(e);s&&(b[0]=q.call(this,e,f.html())),Ia(f,b,c,d)});if(m&&(e=pa(b,a[0].ownerDocument,!1,a,d),f=e.firstChild,1===e.childNodes.length&&(e=f),f||d)){for(h=r.map(ma(e,"script"),Ea),i=h.length;l")},clone:function(a,b,c){var d,e,f,g,h=a.cloneNode(!0),i=r.contains(a.ownerDocument,a);if(!(o.noCloneChecked||1!==a.nodeType&&11!==a.nodeType||r.isXMLDoc(a)))for(g=ma(h),f=ma(a),d=0,e=f.length;d0&&na(g,!i&&ma(a,"script")),h},cleanData:function(a){for(var b,c,d,e=r.event.special,f=0;void 0!==(c=a[f]);f++)if(T(c)){if(b=c[V.expando]){if(b.events)for(d in b.events)e[d]?r.event.remove(c,d):r.removeEvent(c,d,b.handle);c[V.expando]=void 0}c[W.expando]&&(c[W.expando]=void 0)}}}),r.fn.extend({detach:function(a){return Ja(this,a,!0)},remove:function(a){return Ja(this,a)},text:function(a){return S(this,function(a){return void 0===a?r.text(this):this.empty().each(function(){1!==this.nodeType&&11!==this.nodeType&&9!==this.nodeType||(this.textContent=a)})},null,a,arguments.length)},append:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.appendChild(a)}})},prepend:function(){return Ia(this,arguments,function(a){if(1===this.nodeType||11===this.nodeType||9===this.nodeType){var b=Da(this,a);b.insertBefore(a,b.firstChild)}})},before:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this)})},after:function(){return Ia(this,arguments,function(a){this.parentNode&&this.parentNode.insertBefore(a,this.nextSibling)})},empty:function(){for(var a,b=0;null!=(a=this[b]);b++)1===a.nodeType&&(r.cleanData(ma(a,!1)),a.textContent="");return this},clone:function(a,b){return a=null!=a&&a,b=null==b?a:b,this.map(function(){return r.clone(this,a,b)})},html:function(a){return S(this,function(a){var b=this[0]||{},c=0,d=this.length;if(void 0===a&&1===b.nodeType)return b.innerHTML;if("string"==typeof a&&!za.test(a)&&!la[(ja.exec(a)||["",""])[1].toLowerCase()]){a=r.htmlPrefilter(a);try{for(;c1)}});function Ya(a,b,c,d,e){return new Ya.prototype.init(a,b,c,d,e)}r.Tween=Ya,Ya.prototype={constructor:Ya,init:function(a,b,c,d,e,f){this.elem=a,this.prop=c,this.easing=e||r.easing._default,this.options=b,this.start=this.now=this.cur(),this.end=d,this.unit=f||(r.cssNumber[c]?"":"px")},cur:function(){var a=Ya.propHooks[this.prop];return a&&a.get?a.get(this):Ya.propHooks._default.get(this)},run:function(a){var b,c=Ya.propHooks[this.prop];return this.options.duration?this.pos=b=r.easing[this.easing](a,this.options.duration*a,0,1,this.options.duration):this.pos=b=a,this.now=(this.end-this.start)*b+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),c&&c.set?c.set(this):Ya.propHooks._default.set(this),this}},Ya.prototype.init.prototype=Ya.prototype,Ya.propHooks={_default:{get:function(a){var b;return 1!==a.elem.nodeType||null!=a.elem[a.prop]&&null==a.elem.style[a.prop]?a.elem[a.prop]:(b=r.css(a.elem,a.prop,""),b&&"auto"!==b?b:0)},set:function(a){r.fx.step[a.prop]?r.fx.step[a.prop](a):1!==a.elem.nodeType||null==a.elem.style[r.cssProps[a.prop]]&&!r.cssHooks[a.prop]?a.elem[a.prop]=a.now:r.style(a.elem,a.prop,a.now+a.unit)}}},Ya.propHooks.scrollTop=Ya.propHooks.scrollLeft={set:function(a){a.elem.nodeType&&a.elem.parentNode&&(a.elem[a.prop]=a.now)}},r.easing={linear:function(a){return a},swing:function(a){return.5-Math.cos(a*Math.PI)/2},_default:"swing"},r.fx=Ya.prototype.init,r.fx.step={};var Za,$a,_a=/^(?:toggle|show|hide)$/,ab=/queueHooks$/;function bb(){$a&&(a.requestAnimationFrame(bb),r.fx.tick())}function cb(){return a.setTimeout(function(){Za=void 0}),Za=r.now()}function db(a,b){var c,d=0,e={height:a};for(b=b?1:0;d<4;d+=2-b)c=ba[d],e["margin"+c]=e["padding"+c]=a;return b&&(e.opacity=e.width=a),e}function eb(a,b,c){for(var d,e=(hb.tweeners[b]||[]).concat(hb.tweeners["*"]),f=0,g=e.length;f1)},removeAttr:function(a){return this.each(function(){r.removeAttr(this,a)})}}),r.extend({attr:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return"undefined"==typeof a.getAttribute?r.prop(a,b,c):(1===f&&r.isXMLDoc(a)||(e=r.attrHooks[b.toLowerCase()]||(r.expr.match.bool.test(b)?ib:void 0)), +void 0!==c?null===c?void r.removeAttr(a,b):e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:(a.setAttribute(b,c+""),c):e&&"get"in e&&null!==(d=e.get(a,b))?d:(d=r.find.attr(a,b),null==d?void 0:d))},attrHooks:{type:{set:function(a,b){if(!o.radioValue&&"radio"===b&&r.nodeName(a,"input")){var c=a.value;return a.setAttribute("type",b),c&&(a.value=c),b}}}},removeAttr:function(a,b){var c,d=0,e=b&&b.match(K);if(e&&1===a.nodeType)while(c=e[d++])a.removeAttribute(c)}}),ib={set:function(a,b,c){return b===!1?r.removeAttr(a,c):a.setAttribute(c,c),c}},r.each(r.expr.match.bool.source.match(/\w+/g),function(a,b){var c=jb[b]||r.find.attr;jb[b]=function(a,b,d){var e,f,g=b.toLowerCase();return d||(f=jb[g],jb[g]=e,e=null!=c(a,b,d)?g:null,jb[g]=f),e}});var kb=/^(?:input|select|textarea|button)$/i,lb=/^(?:a|area)$/i;r.fn.extend({prop:function(a,b){return S(this,r.prop,a,b,arguments.length>1)},removeProp:function(a){return this.each(function(){delete this[r.propFix[a]||a]})}}),r.extend({prop:function(a,b,c){var d,e,f=a.nodeType;if(3!==f&&8!==f&&2!==f)return 1===f&&r.isXMLDoc(a)||(b=r.propFix[b]||b,e=r.propHooks[b]),void 0!==c?e&&"set"in e&&void 0!==(d=e.set(a,c,b))?d:a[b]=c:e&&"get"in e&&null!==(d=e.get(a,b))?d:a[b]},propHooks:{tabIndex:{get:function(a){var b=r.find.attr(a,"tabindex");return b?parseInt(b,10):kb.test(a.nodeName)||lb.test(a.nodeName)&&a.href?0:-1}}},propFix:{"for":"htmlFor","class":"className"}}),o.optSelected||(r.propHooks.selected={get:function(a){var b=a.parentNode;return b&&b.parentNode&&b.parentNode.selectedIndex,null},set:function(a){var b=a.parentNode;b&&(b.selectedIndex,b.parentNode&&b.parentNode.selectedIndex)}}),r.each(["tabIndex","readOnly","maxLength","cellSpacing","cellPadding","rowSpan","colSpan","useMap","frameBorder","contentEditable"],function(){r.propFix[this.toLowerCase()]=this});function mb(a){var b=a.match(K)||[];return b.join(" ")}function nb(a){return a.getAttribute&&a.getAttribute("class")||""}r.fn.extend({addClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).addClass(a.call(this,b,nb(this)))});if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])d.indexOf(" "+f+" ")<0&&(d+=f+" ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},removeClass:function(a){var b,c,d,e,f,g,h,i=0;if(r.isFunction(a))return this.each(function(b){r(this).removeClass(a.call(this,b,nb(this)))});if(!arguments.length)return this.attr("class","");if("string"==typeof a&&a){b=a.match(K)||[];while(c=this[i++])if(e=nb(c),d=1===c.nodeType&&" "+mb(e)+" "){g=0;while(f=b[g++])while(d.indexOf(" "+f+" ")>-1)d=d.replace(" "+f+" "," ");h=mb(d),e!==h&&c.setAttribute("class",h)}}return this},toggleClass:function(a,b){var c=typeof a;return"boolean"==typeof b&&"string"===c?b?this.addClass(a):this.removeClass(a):r.isFunction(a)?this.each(function(c){r(this).toggleClass(a.call(this,c,nb(this),b),b)}):this.each(function(){var b,d,e,f;if("string"===c){d=0,e=r(this),f=a.match(K)||[];while(b=f[d++])e.hasClass(b)?e.removeClass(b):e.addClass(b)}else void 0!==a&&"boolean"!==c||(b=nb(this),b&&V.set(this,"__className__",b),this.setAttribute&&this.setAttribute("class",b||a===!1?"":V.get(this,"__className__")||""))})},hasClass:function(a){var b,c,d=0;b=" "+a+" ";while(c=this[d++])if(1===c.nodeType&&(" "+mb(nb(c))+" ").indexOf(b)>-1)return!0;return!1}});var ob=/\r/g;r.fn.extend({val:function(a){var b,c,d,e=this[0];{if(arguments.length)return d=r.isFunction(a),this.each(function(c){var e;1===this.nodeType&&(e=d?a.call(this,c,r(this).val()):a,null==e?e="":"number"==typeof e?e+="":r.isArray(e)&&(e=r.map(e,function(a){return null==a?"":a+""})),b=r.valHooks[this.type]||r.valHooks[this.nodeName.toLowerCase()],b&&"set"in b&&void 0!==b.set(this,e,"value")||(this.value=e))});if(e)return b=r.valHooks[e.type]||r.valHooks[e.nodeName.toLowerCase()],b&&"get"in b&&void 0!==(c=b.get(e,"value"))?c:(c=e.value,"string"==typeof c?c.replace(ob,""):null==c?"":c)}}}),r.extend({valHooks:{option:{get:function(a){var b=r.find.attr(a,"value");return null!=b?b:mb(r.text(a))}},select:{get:function(a){var b,c,d,e=a.options,f=a.selectedIndex,g="select-one"===a.type,h=g?null:[],i=g?f+1:e.length;for(d=f<0?i:g?f:0;d-1)&&(c=!0);return c||(a.selectedIndex=-1),f}}}}),r.each(["radio","checkbox"],function(){r.valHooks[this]={set:function(a,b){if(r.isArray(b))return a.checked=r.inArray(r(a).val(),b)>-1}},o.checkOn||(r.valHooks[this].get=function(a){return null===a.getAttribute("value")?"on":a.value})});var pb=/^(?:focusinfocus|focusoutblur)$/;r.extend(r.event,{trigger:function(b,c,e,f){var g,h,i,j,k,m,n,o=[e||d],p=l.call(b,"type")?b.type:b,q=l.call(b,"namespace")?b.namespace.split("."):[];if(h=i=e=e||d,3!==e.nodeType&&8!==e.nodeType&&!pb.test(p+r.event.triggered)&&(p.indexOf(".")>-1&&(q=p.split("."),p=q.shift(),q.sort()),k=p.indexOf(":")<0&&"on"+p,b=b[r.expando]?b:new r.Event(p,"object"==typeof b&&b),b.isTrigger=f?2:3,b.namespace=q.join("."),b.rnamespace=b.namespace?new RegExp("(^|\\.)"+q.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,b.result=void 0,b.target||(b.target=e),c=null==c?[b]:r.makeArray(c,[b]),n=r.event.special[p]||{},f||!n.trigger||n.trigger.apply(e,c)!==!1)){if(!f&&!n.noBubble&&!r.isWindow(e)){for(j=n.delegateType||p,pb.test(j+p)||(h=h.parentNode);h;h=h.parentNode)o.push(h),i=h;i===(e.ownerDocument||d)&&o.push(i.defaultView||i.parentWindow||a)}g=0;while((h=o[g++])&&!b.isPropagationStopped())b.type=g>1?j:n.bindType||p,m=(V.get(h,"events")||{})[b.type]&&V.get(h,"handle"),m&&m.apply(h,c),m=k&&h[k],m&&m.apply&&T(h)&&(b.result=m.apply(h,c),b.result===!1&&b.preventDefault());return b.type=p,f||b.isDefaultPrevented()||n._default&&n._default.apply(o.pop(),c)!==!1||!T(e)||k&&r.isFunction(e[p])&&!r.isWindow(e)&&(i=e[k],i&&(e[k]=null),r.event.triggered=p,e[p](),r.event.triggered=void 0,i&&(e[k]=i)),b.result}},simulate:function(a,b,c){var d=r.extend(new r.Event,c,{type:a,isSimulated:!0});r.event.trigger(d,null,b)}}),r.fn.extend({trigger:function(a,b){return this.each(function(){r.event.trigger(a,b,this)})},triggerHandler:function(a,b){var c=this[0];if(c)return r.event.trigger(a,b,c,!0)}}),r.each("blur focus focusin focusout resize scroll click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup contextmenu".split(" "),function(a,b){r.fn[b]=function(a,c){return arguments.length>0?this.on(b,null,a,c):this.trigger(b)}}),r.fn.extend({hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}}),o.focusin="onfocusin"in a,o.focusin||r.each({focus:"focusin",blur:"focusout"},function(a,b){var c=function(a){r.event.simulate(b,a.target,r.event.fix(a))};r.event.special[b]={setup:function(){var d=this.ownerDocument||this,e=V.access(d,b);e||d.addEventListener(a,c,!0),V.access(d,b,(e||0)+1)},teardown:function(){var d=this.ownerDocument||this,e=V.access(d,b)-1;e?V.access(d,b,e):(d.removeEventListener(a,c,!0),V.remove(d,b))}}});var qb=a.location,rb=r.now(),sb=/\?/;r.parseXML=function(b){var c;if(!b||"string"!=typeof b)return null;try{c=(new a.DOMParser).parseFromString(b,"text/xml")}catch(d){c=void 0}return c&&!c.getElementsByTagName("parsererror").length||r.error("Invalid XML: "+b),c};var tb=/\[\]$/,ub=/\r?\n/g,vb=/^(?:submit|button|image|reset|file)$/i,wb=/^(?:input|select|textarea|keygen)/i;function xb(a,b,c,d){var e;if(r.isArray(b))r.each(b,function(b,e){c||tb.test(a)?d(a,e):xb(a+"["+("object"==typeof e&&null!=e?b:"")+"]",e,c,d)});else if(c||"object"!==r.type(b))d(a,b);else for(e in b)xb(a+"["+e+"]",b[e],c,d)}r.param=function(a,b){var c,d=[],e=function(a,b){var c=r.isFunction(b)?b():b;d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(null==c?"":c)};if(r.isArray(a)||a.jquery&&!r.isPlainObject(a))r.each(a,function(){e(this.name,this.value)});else for(c in a)xb(c,a[c],b,e);return d.join("&")},r.fn.extend({serialize:function(){return r.param(this.serializeArray())},serializeArray:function(){return this.map(function(){var a=r.prop(this,"elements");return a?r.makeArray(a):this}).filter(function(){var a=this.type;return this.name&&!r(this).is(":disabled")&&wb.test(this.nodeName)&&!vb.test(a)&&(this.checked||!ia.test(a))}).map(function(a,b){var c=r(this).val();return null==c?null:r.isArray(c)?r.map(c,function(a){return{name:b.name,value:a.replace(ub,"\r\n")}}):{name:b.name,value:c.replace(ub,"\r\n")}}).get()}});var yb=/%20/g,zb=/#.*$/,Ab=/([?&])_=[^&]*/,Bb=/^(.*?):[ \t]*([^\r\n]*)$/gm,Cb=/^(?:about|app|app-storage|.+-extension|file|res|widget):$/,Db=/^(?:GET|HEAD)$/,Eb=/^\/\//,Fb={},Gb={},Hb="*/".concat("*"),Ib=d.createElement("a");Ib.href=qb.href;function Jb(a){return function(b,c){"string"!=typeof b&&(c=b,b="*");var d,e=0,f=b.toLowerCase().match(K)||[];if(r.isFunction(c))while(d=f[e++])"+"===d[0]?(d=d.slice(1)||"*",(a[d]=a[d]||[]).unshift(c)):(a[d]=a[d]||[]).push(c)}}function Kb(a,b,c,d){var e={},f=a===Gb;function g(h){var i;return e[h]=!0,r.each(a[h]||[],function(a,h){var j=h(b,c,d);return"string"!=typeof j||f||e[j]?f?!(i=j):void 0:(b.dataTypes.unshift(j),g(j),!1)}),i}return g(b.dataTypes[0])||!e["*"]&&g("*")}function Lb(a,b){var c,d,e=r.ajaxSettings.flatOptions||{};for(c in b)void 0!==b[c]&&((e[c]?a:d||(d={}))[c]=b[c]);return d&&r.extend(!0,a,d),a}function Mb(a,b,c){var d,e,f,g,h=a.contents,i=a.dataTypes;while("*"===i[0])i.shift(),void 0===d&&(d=a.mimeType||b.getResponseHeader("Content-Type"));if(d)for(e in h)if(h[e]&&h[e].test(d)){i.unshift(e);break}if(i[0]in c)f=i[0];else{for(e in c){if(!i[0]||a.converters[e+" "+i[0]]){f=e;break}g||(g=e)}f=f||g}if(f)return f!==i[0]&&i.unshift(f),c[f]}function Nb(a,b,c,d){var e,f,g,h,i,j={},k=a.dataTypes.slice();if(k[1])for(g in a.converters)j[g.toLowerCase()]=a.converters[g];f=k.shift();while(f)if(a.responseFields[f]&&(c[a.responseFields[f]]=b),!i&&d&&a.dataFilter&&(b=a.dataFilter(b,a.dataType)),i=f,f=k.shift())if("*"===f)f=i;else if("*"!==i&&i!==f){if(g=j[i+" "+f]||j["* "+f],!g)for(e in j)if(h=e.split(" "),h[1]===f&&(g=j[i+" "+h[0]]||j["* "+h[0]])){g===!0?g=j[e]:j[e]!==!0&&(f=h[0],k.unshift(h[1]));break}if(g!==!0)if(g&&a["throws"])b=g(b);else try{b=g(b)}catch(l){return{state:"parsererror",error:g?l:"No conversion from "+i+" to "+f}}}return{state:"success",data:b}}r.extend({active:0,lastModified:{},etag:{},ajaxSettings:{url:qb.href,type:"GET",isLocal:Cb.test(qb.protocol),global:!0,processData:!0,async:!0,contentType:"application/x-www-form-urlencoded; charset=UTF-8",accepts:{"*":Hb,text:"text/plain",html:"text/html",xml:"application/xml, text/xml",json:"application/json, text/javascript"},contents:{xml:/\bxml\b/,html:/\bhtml/,json:/\bjson\b/},responseFields:{xml:"responseXML",text:"responseText",json:"responseJSON"},converters:{"* text":String,"text html":!0,"text json":JSON.parse,"text xml":r.parseXML},flatOptions:{url:!0,context:!0}},ajaxSetup:function(a,b){return b?Lb(Lb(a,r.ajaxSettings),b):Lb(r.ajaxSettings,a)},ajaxPrefilter:Jb(Fb),ajaxTransport:Jb(Gb),ajax:function(b,c){"object"==typeof b&&(c=b,b=void 0),c=c||{};var e,f,g,h,i,j,k,l,m,n,o=r.ajaxSetup({},c),p=o.context||o,q=o.context&&(p.nodeType||p.jquery)?r(p):r.event,s=r.Deferred(),t=r.Callbacks("once memory"),u=o.statusCode||{},v={},w={},x="canceled",y={readyState:0,getResponseHeader:function(a){var b;if(k){if(!h){h={};while(b=Bb.exec(g))h[b[1].toLowerCase()]=b[2]}b=h[a.toLowerCase()]}return null==b?null:b},getAllResponseHeaders:function(){return k?g:null},setRequestHeader:function(a,b){return null==k&&(a=w[a.toLowerCase()]=w[a.toLowerCase()]||a,v[a]=b),this},overrideMimeType:function(a){return null==k&&(o.mimeType=a),this},statusCode:function(a){var b;if(a)if(k)y.always(a[y.status]);else for(b in a)u[b]=[u[b],a[b]];return this},abort:function(a){var b=a||x;return e&&e.abort(b),A(0,b),this}};if(s.promise(y),o.url=((b||o.url||qb.href)+"").replace(Eb,qb.protocol+"//"),o.type=c.method||c.type||o.method||o.type,o.dataTypes=(o.dataType||"*").toLowerCase().match(K)||[""],null==o.crossDomain){j=d.createElement("a");try{j.href=o.url,j.href=j.href,o.crossDomain=Ib.protocol+"//"+Ib.host!=j.protocol+"//"+j.host}catch(z){o.crossDomain=!0}}if(o.data&&o.processData&&"string"!=typeof o.data&&(o.data=r.param(o.data,o.traditional)),Kb(Fb,o,c,y),k)return y;l=r.event&&o.global,l&&0===r.active++&&r.event.trigger("ajaxStart"),o.type=o.type.toUpperCase(),o.hasContent=!Db.test(o.type),f=o.url.replace(zb,""),o.hasContent?o.data&&o.processData&&0===(o.contentType||"").indexOf("application/x-www-form-urlencoded")&&(o.data=o.data.replace(yb,"+")):(n=o.url.slice(f.length),o.data&&(f+=(sb.test(f)?"&":"?")+o.data,delete o.data),o.cache===!1&&(f=f.replace(Ab,"$1"),n=(sb.test(f)?"&":"?")+"_="+rb++ +n),o.url=f+n),o.ifModified&&(r.lastModified[f]&&y.setRequestHeader("If-Modified-Since",r.lastModified[f]),r.etag[f]&&y.setRequestHeader("If-None-Match",r.etag[f])),(o.data&&o.hasContent&&o.contentType!==!1||c.contentType)&&y.setRequestHeader("Content-Type",o.contentType),y.setRequestHeader("Accept",o.dataTypes[0]&&o.accepts[o.dataTypes[0]]?o.accepts[o.dataTypes[0]]+("*"!==o.dataTypes[0]?", "+Hb+"; q=0.01":""):o.accepts["*"]);for(m in o.headers)y.setRequestHeader(m,o.headers[m]);if(o.beforeSend&&(o.beforeSend.call(p,y,o)===!1||k))return y.abort();if(x="abort",t.add(o.complete),y.done(o.success),y.fail(o.error),e=Kb(Gb,o,c,y)){if(y.readyState=1,l&&q.trigger("ajaxSend",[y,o]),k)return y;o.async&&o.timeout>0&&(i=a.setTimeout(function(){y.abort("timeout")},o.timeout));try{k=!1,e.send(v,A)}catch(z){if(k)throw z;A(-1,z)}}else A(-1,"No Transport");function A(b,c,d,h){var j,m,n,v,w,x=c;k||(k=!0,i&&a.clearTimeout(i),e=void 0,g=h||"",y.readyState=b>0?4:0,j=b>=200&&b<300||304===b,d&&(v=Mb(o,y,d)),v=Nb(o,v,y,j),j?(o.ifModified&&(w=y.getResponseHeader("Last-Modified"),w&&(r.lastModified[f]=w),w=y.getResponseHeader("etag"),w&&(r.etag[f]=w)),204===b||"HEAD"===o.type?x="nocontent":304===b?x="notmodified":(x=v.state,m=v.data,n=v.error,j=!n)):(n=x,!b&&x||(x="error",b<0&&(b=0))),y.status=b,y.statusText=(c||x)+"",j?s.resolveWith(p,[m,x,y]):s.rejectWith(p,[y,x,n]),y.statusCode(u),u=void 0,l&&q.trigger(j?"ajaxSuccess":"ajaxError",[y,o,j?m:n]),t.fireWith(p,[y,x]),l&&(q.trigger("ajaxComplete",[y,o]),--r.active||r.event.trigger("ajaxStop")))}return y},getJSON:function(a,b,c){return r.get(a,b,c,"json")},getScript:function(a,b){return r.get(a,void 0,b,"script")}}),r.each(["get","post"],function(a,b){r[b]=function(a,c,d,e){return r.isFunction(c)&&(e=e||d,d=c,c=void 0),r.ajax(r.extend({url:a,type:b,dataType:e,data:c,success:d},r.isPlainObject(a)&&a))}}),r._evalUrl=function(a){return r.ajax({url:a,type:"GET",dataType:"script",cache:!0,async:!1,global:!1,"throws":!0})},r.fn.extend({wrapAll:function(a){var b;return this[0]&&(r.isFunction(a)&&(a=a.call(this[0])),b=r(a,this[0].ownerDocument).eq(0).clone(!0),this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstElementChild)a=a.firstElementChild;return a}).append(this)),this},wrapInner:function(a){return r.isFunction(a)?this.each(function(b){r(this).wrapInner(a.call(this,b))}):this.each(function(){var b=r(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=r.isFunction(a);return this.each(function(c){r(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(a){return this.parent(a).not("body").each(function(){r(this).replaceWith(this.childNodes)}),this}}),r.expr.pseudos.hidden=function(a){return!r.expr.pseudos.visible(a)},r.expr.pseudos.visible=function(a){return!!(a.offsetWidth||a.offsetHeight||a.getClientRects().length)},r.ajaxSettings.xhr=function(){try{return new a.XMLHttpRequest}catch(b){}};var Ob={0:200,1223:204},Pb=r.ajaxSettings.xhr();o.cors=!!Pb&&"withCredentials"in Pb,o.ajax=Pb=!!Pb,r.ajaxTransport(function(b){var c,d;if(o.cors||Pb&&!b.crossDomain)return{send:function(e,f){var g,h=b.xhr();if(h.open(b.type,b.url,b.async,b.username,b.password),b.xhrFields)for(g in b.xhrFields)h[g]=b.xhrFields[g];b.mimeType&&h.overrideMimeType&&h.overrideMimeType(b.mimeType),b.crossDomain||e["X-Requested-With"]||(e["X-Requested-With"]="XMLHttpRequest");for(g in e)h.setRequestHeader(g,e[g]);c=function(a){return function(){c&&(c=d=h.onload=h.onerror=h.onabort=h.onreadystatechange=null,"abort"===a?h.abort():"error"===a?"number"!=typeof h.status?f(0,"error"):f(h.status,h.statusText):f(Ob[h.status]||h.status,h.statusText,"text"!==(h.responseType||"text")||"string"!=typeof h.responseText?{binary:h.response}:{text:h.responseText},h.getAllResponseHeaders()))}},h.onload=c(),d=h.onerror=c("error"),void 0!==h.onabort?h.onabort=d:h.onreadystatechange=function(){4===h.readyState&&a.setTimeout(function(){c&&d()})},c=c("abort");try{h.send(b.hasContent&&b.data||null)}catch(i){if(c)throw i}},abort:function(){c&&c()}}}),r.ajaxPrefilter(function(a){a.crossDomain&&(a.contents.script=!1)}),r.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/\b(?:java|ecma)script\b/},converters:{"text script":function(a){return r.globalEval(a),a}}}),r.ajaxPrefilter("script",function(a){void 0===a.cache&&(a.cache=!1),a.crossDomain&&(a.type="GET")}),r.ajaxTransport("script",function(a){if(a.crossDomain){var b,c;return{send:function(e,f){b=r(" + + + + + + + + + + + +
      +

      + + + + +
      + + + +
      + +
      + + + + + + + + + + + + + + + + + + + + + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/mainpage.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/mainpage.tmpl new file mode 100644 index 0000000000..b38a185c0f --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/mainpage.tmpl @@ -0,0 +1,10 @@ + + + +
      +
      +
      + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl new file mode 100644 index 0000000000..eef64c1f3f --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/members.tmpl @@ -0,0 +1,41 @@ + + + + + + + + + + + + + +
      +
      + Type: +
      + +

      + +

       

      + + + + +
      Example 1? 's':'' ?>
      + + + +
      + + +
      Fires:
      +
        +
      • +
      + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl new file mode 100644 index 0000000000..153459f475 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/method.tmpl @@ -0,0 +1,119 @@ + + + + + + + + + + + + + +
      + +
      + Returns: + + + +
      + +

      + + +

      + +

       

      + + + +

      Throws:

      + 1) { ?>
        +
      • +
      +

      + + + + + +

      Parameters

      + + + +
      Example 1? 's':'' ?>
      + + + +
      + + + +
      Extends:
      + + + + +
      Type:
      +
        +
      • + +
      • +
      + + + +
      This:
      +
      + + + +
      Requires:
      +
        +
      • +
      + + + +
      Fires:
      +
        +
      • +
      + + + +
      Listens to Events:
      +
        +
      • +
      + + + +
      Listeners of This Event:
      +
        +
      • +
      + + + +
      Yields:
      + 1) { ?>
        +
      • +
      + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl new file mode 100644 index 0000000000..7d88cd5e51 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/methodList.tmpl @@ -0,0 +1,107 @@ + + + +

      Constructor

      + + + + + + + + + + None + + 1) { ?>
        +
      • +
      + + + + + + + + + + + + + + + + + +
      Extends:
      + + + + +
      Type:
      +
        +
      • + +
      • +
      + + + +
      This:
      +
      + + + + +
      Requires:
      +
        +
      • +
      + + + +
      Fires:
      +
        +
      • +
      + + + +
      Listens to Events:
      +
        +
      • +
      + + + +
      Listeners of This Event:
      +
        +
      • +
      + + + +
      Yields:
      + 1) { ?>
        +
      • +
      + + + + \ No newline at end of file diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/paramList.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/paramList.tmpl new file mode 100644 index 0000000000..5b5164b771 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/paramList.tmpl @@ -0,0 +1,67 @@ + + + + + + + , + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl new file mode 100644 index 0000000000..17f58b1677 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/params.tmpl @@ -0,0 +1,115 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeAttributesDefaultDescription
      + + + + + + Default Value: + + +
      Properties
      + +
      \ No newline at end of file diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl new file mode 100644 index 0000000000..5c83a7d587 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/properties.tmpl @@ -0,0 +1,103 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
      NameTypeAttributesSummary
      + + + + + + <optional>
      + + + + <nullable>
      + +
      + + + +

      Default Value:

      + + + +
      Properties
      + +
      diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/returns.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/returns.tmpl new file mode 100644 index 0000000000..3958e7018e --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/returns.tmpl @@ -0,0 +1,8 @@ + + + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/returnsSimp.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/returnsSimp.tmpl new file mode 100644 index 0000000000..b93aa50ad4 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/returnsSimp.tmpl @@ -0,0 +1,6 @@ + + + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl new file mode 100644 index 0000000000..20743fe052 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/signal.tmpl @@ -0,0 +1,123 @@ + + + + + + + + + + + + + +
      + ( + + + + ) +
      + Returns: + + + +
      + +

      + + +

      + +

       

      + + + +

      Throws:

      + 1) { ?>
        +
      • +
      +

      + + + + + +

      Parameters

      + + + +
      Example 1? 's':'' ?>
      + + + +
      + + + +
      Extends:
      + + + + +
      Type:
      +
        +
      • + +
      • +
      + + + +
      This:
      +
      + + + +
      Requires:
      +
        +
      • +
      + + + +
      Fires:
      +
        +
      • +
      + + + +
      Listens to Events:
      +
        +
      • +
      + + + +
      Listeners of This Event:
      +
        +
      • +
      + + + +
      Yields:
      + 1) { ?>
        +
      • +
      + + + diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl new file mode 100644 index 0000000000..b9a0e0ca86 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/signalList.tmpl @@ -0,0 +1,92 @@ + + + +

      Constructor

      + + + + + + + + + + + + + + + + + + + + +
      Extends:
      + + + + +
      Type:
      +
        +
      • + +
      • +
      + + + +
      This:
      +
      + + + + +
      Requires:
      +
        +
      • +
      + + + +
      Fires:
      +
        +
      • +
      + + + +
      Listens to Events:
      +
        +
      • +
      + + + +
      Listeners of This Event:
      +
        +
      • +
      + + + +
      Yields:
      + 1) { ?>
        +
      • +
      + + + + \ No newline at end of file diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/source.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/source.tmpl new file mode 100644 index 0000000000..e559b5d103 --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/source.tmpl @@ -0,0 +1,8 @@ + +
      +
      +
      +
      +
      \ No newline at end of file diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/tutorial.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/tutorial.tmpl new file mode 100644 index 0000000000..88a0ad52aa --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/tutorial.tmpl @@ -0,0 +1,19 @@ +
      + +
      + 0) { ?> +
        +
      • +
      + + +

      +
      + +
      + +
      + +
      diff --git a/tools/jsdoc/hifi-jsdoc-template/tmpl/type.tmpl b/tools/jsdoc/hifi-jsdoc-template/tmpl/type.tmpl new file mode 100644 index 0000000000..8f8d89369d --- /dev/null +++ b/tools/jsdoc/hifi-jsdoc-template/tmpl/type.tmpl @@ -0,0 +1,7 @@ + + +| + \ No newline at end of file diff --git a/tools/jsdoc/plugins/hifi.js b/tools/jsdoc/plugins/hifi.js index a525093965..b61c80284c 100644 --- a/tools/jsdoc/plugins/hifi.js +++ b/tools/jsdoc/plugins/hifi.js @@ -107,9 +107,6 @@ exports.handlers = { if (e.doclet.hifiClientEntity) { rows.push("Client Entity Scripts"); } - if (e.doclet.hifiAvatar) { - rows.push("Avatar Scripts"); - } if (e.doclet.hifiServerEntity) { rows.push("Server Entity Scripts"); } @@ -117,15 +114,31 @@ exports.handlers = { rows.push("Assignment Client Scripts"); } - // Append an Available In: table at the end of the namespace description. + // Append an Available In: sentence at the beginning of the namespace description. if (rows.length > 0) { - var table = "
      Available in:" + rows.join("") + "

      "; - e.doclet.description = table + (e.doclet.description ? e.doclet.description : ""); - } + var availableIn = "

      Supported Script Types: " + rows.join(" • ") + "

      "; + + e.doclet.description = (e.doclet.description ? e.doclet.description : "") + availableIn; + } } } }; +// Functions for adding @signal custom tag +/** @private */ +function setDocletKindToTitle(doclet, tag) { + doclet.addTag( 'kind', tag.title ); +} + +function setDocletNameToValue(doclet, tag) { + if (tag.value && tag.value.description) { // as in a long tag + doclet.addTag('name', tag.value.description); + } + else if (tag.text) { // or a short tag + doclet.addTag('name', tag.text); + } +} + // Define custom hifi tags here exports.defineTags = function (dictionary) { @@ -143,14 +156,6 @@ exports.defineTags = function (dictionary) { } }); - // @hifi-avatar-script - dictionary.defineTag("hifi-avatar", { - onTagged: function (doclet, tag) { - doclet.hifiAvatar = true; - } - }); - - // @hifi-client-entity dictionary.defineTag("hifi-client-entity", { onTagged: function (doclet, tag) {