diff --git a/client/galaxy/scripts/nls/zh/locale.js b/client/galaxy/scripts/nls/zh/locale.js index 840922b1e7e..fdc298ea70d 100644 --- a/client/galaxy/scripts/nls/zh/locale.js +++ b/client/galaxy/scripts/nls/zh/locale.js @@ -1,169 +1,244 @@ /** zh localization */ +/* by steven shen */ define({ + // ----------------------------------------------------------------------------- masthead + "Analyze Data": "数据分析", + Workflow: "流程", + "Shared Data": "共享的数据", + "Data Libraries": "数据库", + Histories: "已发布的历史", + Workflows: "已发布的流程", + Visualizations: "已发布的可视化", + Pages: "已发布的页面", + Visualization: "可视化", + "New Track Browser": "创建 Track Browser", + "Saved Visualizations": "已保存的保存", + "Interactive Environments": "交互式环境", + Admin: "管理员", + Help: "帮助", + Support: "支持", + Search: "搜索", + "Mailing Lists": "邮件列表", + Videos: "视频", + Wiki: false, + "How to Cite Galaxy": "引用", + "Interactive Tours": "使用引导", + User: "用户", + Login: "登陆", + Register: "注册", + "Login or Register": "登陆或注册", + "Logged in as": "您已登陆为", + Preferences: "用户偏好性", + "Custom Builds": "自定义构建集", + Logout: "退出", + "Saved Histories": "保存历史", + "Saved Datasets": "保存数据集", + "Saved Pages": "保存页面", + + //Tooltip + "Account and saved data": "账号及数据保存", + "Account registration or login": "注册与登录", + "Support, contact, and community": "支持,联系,社区", + "Administer this Galaxy": "管理您的Galaxy", + "Visualize datasets": "数据集可视化", + "Access published resources": "访问发布的资源", + "Chain tools into workflows": "将工具链接到工作流程中", + "Analysis home view": "数据分析主页", + // ---------------------------------------------------------------------------- histories + // ---- history/options-menu + "History Lists": "历史列表", + // Saved histories is defined above. + "Saved Histories": "保存历史", + "Histories Shared with Me": "分享给您历史", + "Current History": "当前历史", + "Create New": "创建新的历史", + "Copy History": "复制历史", + "Share or Publish": "分享或发布历史", + "Show Structure": "展示结构", + "Extract Workflow": "提取为工作流", + // Delete is defined elsewhere, but is also in this menu. + Delete: "删除", + "Delete Permanently": "永久删除", + "Dataset Actions": "数据操作", + "Copy Datasets": "复制数据集", + "Dataset Security": "数据安全", + "Resume Paused Jobs": "恢复已暂停的任务", + "Collapse Expanded Datasets": false, + "Unhide Hidden Datasets": "取消隐藏的数据集", + "Delete Hidden Datasets": "删除隐藏的数据集", + "Purge Deleted Datasets": "清空已删除的数据集", + Downloads: "下载", + "Export Tool Citations": "导出工具文献引用", + "Export History to File": "导出历史到文件", + "Other Actions": "其他操作", + "Import from File": "从文件导入", + Webhooks: false, + // ---- history-model // ---- history-view "This history is empty": "历史已空", "No matching datasets found": "未找到匹配的数据集", - //"An error occurred while getting updates from the server" : - //false, - //"Please contact a Galaxy administrator if the problem persists" : - //false, + "An error occurred while getting updates from the server": "从服务器更新出现错误", + "Please contact a Galaxy administrator if the problem persists": "如果问题仍然存在,请联系Galaxy管理员", //TODO: - //"An error was encountered while <% where %>" : - //false, - "Search datasets": "搜索数据集", - "You are currently viewing a deleted history!": "正在查看已删除的历史", - "You are over your disk quota": "您已超过磁盘配额", - //"Tool execution is on hold until your disk usage drops below your allocated quota" : - //false, - All: "皆", + "An error was encountered while <% where %>": "出现错误,当执行以下操作时: <% where %>", + "search datasets": "搜索数据集", + "You are currently viewing a deleted history!": "您正在查看已删除的历史记录", + "You are over your disk quota": "您超出了您的磁盘配额", + "Tool execution is on hold until your disk usage drops below your allocated quota": + "工具执行处于暂停状态,直到您的磁盘使用量低于您分配的配额", + All: "所有的", None: "一个也没有", "For all selected": "为每个选定", // ---- history-view-edit - //"Edit history tags" : - //false, - //"Edit history Annotation" : - //false, + "Edit history tags": "编辑历史标签", + "Edit history Annotation": "编辑历史备注", "Click to rename history": "单击要重命名的历史", // multi operations "Operations on multiple datasets": "编辑多个数据集", - //"Hide datasets" : - //false, - //"Unhide datasets" : - //false, - //"Delete datasets" : - //false, - //"Undelete datasets" : - //false, + "Hide datasets": "隐藏数据集", + "Unhide datasets": "显示数据集", + "Delete datasets": "删除数据集", + "Undelete datasets": "取消删除数据集", "Permanently delete datasets": "永久删除数据集", - "This will permanently remove the data in your datasets. Are you sure?": "这将永久在你的数据集删除数据。你确定?", + "This will permanently remove the data in your datasets. Are you sure?": "这将永久在您的数据集删除数据。你确定?", // ---- history-view-annotated - Dataset: "数据集", - //"Annotation" : - //false, + Dataset: "数据", + Annotation: "备注", // ---- history-view-edit-current "This history is empty. Click 'Get Data' on the left tool menu to start": "历史已空,请单击左边窗格中‘获取数据’", "You must be logged in to create histories": "你必须登录后才能创建历史", //TODO: - //"You can <% loadYourOwn %> or <% externalSource %>" : + "You can ": "您可以 ", + " or ": " 或者 ", + "load your own data": "上传您的个人数据", + "get data from an external source": "从外部来源获取数据", + + // these aren't in zh/ginga.po and the template doesn't localize + //"Include Deleted Datasets" : //false, - //"load your own data" : - //false, - //"get data from an external source" : + //"Include Hidden Datasets" : //false, // ---------------------------------------------------------------------------- datasets // ---- hda-model - //"Unable to purge dataset" : - //false, + "Unable to purge dataset": "无法清除数据集", // ---- hda-base // display button - //"Cannot display datasets removed from disk" : - //false, - //"This dataset must finish uploading before it can be viewed" : - //false, - //"This dataset is not yet viewable" : - //false, - "View data": "数据", + "Cannot display datasets removed from disk": "无法显示已从磁盘中删除的数据集", + "This dataset must finish uploading before it can be viewed": "此数据集必须先完成上传, 然后才能查看", + "This dataset is not yet viewable": "此数据集是不可见的", + "View data": "查看数据", // download button Download: "下载", "Download dataset": "下载数据集", - //"Additional files" : - //false, + "Additional files": "其他文件", // info/show_params "View details": "查看详情", // dataset states // state: new - //"This is a new dataset and not all of its data are available yet" : - //false, + "This is a new dataset and not all of its data are available yet": "这是一个新的数据集,并不是所有的数据都可用", // state: noPermission - //"You do not have permission to view this dataset" : - //false, + "You do not have permission to view this dataset": "您无权查看此数据集", // state: discarded - //"The job creating this dataset was cancelled before completion" : - //false, + "The job creating this dataset was cancelled before completion": "创建此数据集的任务在完成之前已被取消", // state: queued - "This job is waiting to run": "等待运行的进程", + "This job is waiting to run": "任务正在等待运行", // state: upload - //"This dataset is currently uploading" : - //false, + "This dataset is currently uploading": "此数据集正在上传中", // state: setting_metadata - //"Metadata is being auto-detected" : - //false, + "Metadata is being auto-detected": "元数据正在被自动检测中", // state: running - "This job is currently running": "正在运行的进程", + "This job is currently running": "任务正在运行中", // state: paused - //"This job is paused. Use the \"Resume Paused Jobs\" in the history menu to resume" : - //false, + 'This job is paused. Use the "Resume Paused Jobs" in the history menu to resume': + '此任务已暂停。使用历史菜单中的 "恢复已暂停的工作" 来恢复', // state: error - "An error occurred with this dataset": "进程运行时出错", + "An error occurred with this dataset": "此数据集发生错误", // state: empty "No data": "没有数据", // state: failed_metadata - //"An error occurred setting the metadata for this dataset" : - //false, + "An error occurred setting the metadata for this dataset": "设置此数据集的元数据时发生错误", // ajax error prefix - //"There was an error getting the data for this dataset" : - //false, + "There was an error getting the data for this dataset": "获取此数据集的数据时出错", // purged'd/del'd msg - //"This dataset has been deleted and removed from disk" : - //false, + "This dataset has been deleted and removed from disk": "此数据集已被删除并从磁盘中删除", "This dataset has been deleted": "此数据集已被删除", - "This dataset has been hidden": "此数据集已隐藏", + "This dataset has been hidden": "此数据集已被隐藏", format: "格式", database: "数据库", // ---- hda-edit "Edit attributes": "编辑属性", - //"Cannot edit attributes of datasets removed from disk" : - //false, - //"Undelete dataset to edit attributes" : - //false, - //"This dataset must finish uploading before it can be edited" : - //false, - //"This dataset is not yet editable" : - //false, + "Cannot edit attributes of datasets removed from disk": "无法编辑已从磁盘中删除的数据集的属性", + "Undelete dataset to edit attributes": "取消删除数据集以编辑属性", + "This dataset must finish uploading before it can be edited": "该数据集必须先上传完成, 然后才能编辑", + "This dataset is not yet editable": "该数据集不可编辑", Delete: "删除", - //"Dataset is already deleted" : - //false, + "Dataset is already deleted": "数据集已被删除", - "View or report this error": "报告错误", + "View or report this error": "查看或报告此错误", - "Run this job again": "重新运行", + "Run this job again": "重新运行此任务", - Visualize: "图形", - //"Visualize in" : - //false, + Visualize: "可视化", + "Visualize in": "的可视化", - "Undelete it": "反删除", + "Undelete it": "取消删除", "Permanently remove it from disk": "从磁盘中永久删除", - "Unhide it": "取消隐藏" + "Unhide it": "取消隐藏", - //"You may be able to" : - //false, - //"set it manually or retry auto-detection" : - //false, + "You may be able to": "您可能可以", + "set it manually or retry auto-detection": "手动设置或重试自动检测", - //"Edit dataset tags" : - //false, - //"Edit dataset annotation" : - //false, + "Edit dataset tags": "编辑数据集标签", + "Edit dataset annotation": "编辑数据集备注", + + "Tool Help": "工具帮助", + + // ---------------------------------------------------------------------------- admin + "Search Tool Shed": "搜索 Tool Shed", + "Monitor installing repositories": "", + "Manage installed tools": "管理已安装的工具", + "Reset metadata": "重置元数据", + "Download local tool": "下载本地工具", + "Tool lineage": false, + "Reload a tool's configuration": "重新加载工具的配置", + "Review tool migration stages": "查看工具迁移状态", + "View Tool Error Logs": "查看工具错误日志", + "Manage Display Whitelist": "管理显示白名单", + "Manage Tool Dependencies": "管理工具依赖", + Users: "用户", + Groups: "组别", + "API keys": false, + "Impersonate a user": "模拟用户", + Data: "数据", + Quotas: "配额", + Roles: "角色", + "Local data": "本地数据", + "Form Definitions": "定义表单", + + // ---------------------------------------------------------------------------- Scratchbook + "Enable/Disable Scratchbook": "启用/禁用 Scratchbook", + "Show/Hide Scratchbook": "显示/隐藏 Scratchbook", // ---------------------------------------------------------------------------- misc. MVC - //"Tags" : - //false, - //"Annotation" : - //false, - //"Edit annotation" : - //false, + Tags: "标签", + "Edit annotation": "编辑备注", + + // ---------------------------------------------------------------------------- + + ja: true, + fr: true, + zh: true }); diff --git a/static/scripts/bundled/libs.bundled.js b/static/scripts/bundled/libs.bundled.js index adc9e85f0f0..0a0126fb8a1 100644 --- a/static/scripts/bundled/libs.bundled.js +++ b/static/scripts/bundled/libs.bundled.js @@ -53,7 +53,7 @@ var hn=Object.freeze({}),dn=Object.prototype.toString,fn=(f("slot,component",!0) * jQuery Migrate - v1.4.1 - 2016-05-19 * Copyright jQuery Foundation and other contributors */ -return a&&(s.length<4&&n("jQuery.fn.attr( props, pass ) is deprecated"),e&&!h.test(u)&&(o?i in o:t.isFunction(t.fn[i])))?t(e)[i](r):("type"===i&&void 0!==r&&c.test(e.nodeName)&&e.parentNode&&n("Can't change the 'type' of an input or button in IE 6/7/8"),!t.attrHooks[l]&&d.test(l)&&(t.attrHooks[l]={get:function(e,i){var n,r=t.prop(e,i);return!0===r||"boolean"!=typeof r&&(n=e.getAttributeNode(i))&&!1!==n.nodeValue?i.toLowerCase():void 0},set:function(e,i,n){var r;return!1===i?t.removeAttr(e,n):(r=t.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},f.test(l)&&n("jQuery.fn.attr('"+l+"') might use property instead of attribute")),s.call(t,e,i,r))},t.attrHooks.value={get:function(t,e){var i=(t.nodeName||"").toLowerCase();return"button"===i?l.apply(this,arguments):("input"!==i&&"option"!==i&&n("jQuery.fn.attr('value') no longer gets properties"),e in t?t.value:null)},set:function(t,e){var i=(t.nodeName||"").toLowerCase();if("button"===i)return u.apply(this,arguments);"input"!==i&&"option"!==i&&n("jQuery.fn.attr('value', val) no longer sets properties"),t.value=e}};var p,g,m=t.fn.init,v=t.find,_=t.parseJSON,y=/^\s*)([^>]*)$/;t.fn.init=function(e,i,r){var a,o;return e&&"string"==typeof e&&!t.isPlainObject(i)&&(a=x.exec(t.trim(e)))&&a[0]&&(y.test(e)||n("$(html) HTML strings must start with '<' character"),a[3]&&n("$(html) HTML text after last tag is ignored"),"#"===a[0].charAt(0)&&(n("HTML string cannot start with a '#' character"),t.error("JQMIGRATE: Invalid selector string (XSS)")),i&&i.context&&i.context.nodeType&&(i=i.context),t.parseHTML)?m.call(this,t.parseHTML(a[2],i&&i.ownerDocument||i||document,!0),i,r):(o=m.apply(this,arguments),e&&void 0!==e.selector?(o.selector=e.selector,o.context=e.context):(o.selector="string"==typeof e?e:"",e&&(o.context=e.nodeType?e:i||document)),o)},t.fn.init.prototype=t.fn,t.find=function(t){var e=Array.prototype.slice.call(arguments);if("string"==typeof t&&b.test(t))try{document.querySelector(t)}catch(i){t=t.replace(w,function(t,e,i,n){return"["+e+i+'"'+n+'"]'});try{document.querySelector(t),n("Attribute selector with '#' must be quoted: "+e[0]),e[0]=t}catch(t){n("Attribute selector with '#' was not fixed: "+e[0])}}return v.apply(this,e)};var C;for(C in v)Object.prototype.hasOwnProperty.call(v,C)&&(t.find[C]=v[C]);t.parseJSON=function(t){return t?_.apply(this,arguments):(n("jQuery.parseJSON requires a valid JSON string"),null)},t.uaMatch=function(t){t=t.toLowerCase();var e=/(chrome)[ \/]([\w.]+)/.exec(t)||/(webkit)[ \/]([\w.]+)/.exec(t)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(t)||/(msie) ([\w.]+)/.exec(t)||t.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(t)||[];return{browser:e[1]||"",version:e[2]||"0"}},t.browser||(p=t.uaMatch(navigator.userAgent),g={},p.browser&&(g[p.browser]=!0,g.version=p.version),g.chrome?g.webkit=!0:g.webkit&&(g.safari=!0),t.browser=g),r(t,"browser",t.browser,"jQuery.browser is deprecated"),t.boxModel=t.support.boxModel="CSS1Compat"===document.compatMode,r(t,"boxModel",t.boxModel,"jQuery.boxModel is deprecated"),r(t.support,"boxModel",t.support.boxModel,"jQuery.support.boxModel is deprecated"),t.sub=function(){function e(t,i){return new e.fn.init(t,i)}t.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(n,r){var a=t.fn.init.call(this,n,r,i);return a instanceof e?a:e(a)},e.fn.init.prototype=e.fn;var i=e(document);return n("jQuery.sub() is deprecated"),e},t.fn.size=function(){return n("jQuery.fn.size() is deprecated; use the .length property"),this.length};var k=!1;t.swap&&t.each(["height","width","reliableMarginRight"],function(e,i){var n=t.cssHooks[i]&&t.cssHooks[i].get;n&&(t.cssHooks[i].get=function(){var t;return k=!0,t=n.apply(this,arguments),k=!1,t})}),t.swap=function(t,e,i,r){var a,o,s={};k||n("jQuery.swap() is undocumented and deprecated");for(o in e)s[o]=t.style[o],t.style[o]=e[o];a=i.apply(t,r||[]);for(o in e)t.style[o]=s[o];return a},t.ajaxSetup({converters:{"text json":t.parseJSON}});var S=t.fn.data;t.fn.data=function(e){var i,r,a=this[0];return!a||"events"!==e||1!==arguments.length||(i=t.data(a,e),r=t._data(a,e),void 0!==i&&i!==r||void 0===r)?S.apply(this,arguments):(n("Use of jQuery.fn.data('events') is deprecated"),r)};var T=/\/(java|ecma)script/i;t.clean||(t.clean=function(e,i,r,a){i=i||document,i=!i.nodeType&&i[0]||i,i=i.ownerDocument||i,n("jQuery.clean() is deprecated");var o,s,l,u,c=[];if(t.merge(c,t.buildFragment(e,i).childNodes),r)for(l=function(t){if(!t.type||T.test(t.type))return a?a.push(t.parentNode?t.parentNode.removeChild(t):t):r.appendChild(t)},o=0;null!=(s=c[o]);o++)t.nodeName(s,"script")&&l(s)||(r.appendChild(s),void 0!==s.getElementsByTagName&&(u=t.grep(t.merge([],s.getElementsByTagName("script")),l),c.splice.apply(c,[o+1,0].concat(u)),o+=u.length));return c});var A=t.event.add,M=t.event.remove,E=t.event.trigger,O=t.fn.toggle,$=t.fn.live,D=t.fn.die,j=t.fn.load,P="ajaxStart|ajaxStop|ajaxSend|ajaxComplete|ajaxError|ajaxSuccess",R=new RegExp("\\b(?:"+P+")\\b"),I=/(?:^|\s)hover(\.\S+|)\b/,N=function(e){return"string"!=typeof e||t.event.special.hover?e:(I.test(e)&&n("'hover' pseudo-event is deprecated, use 'mouseenter mouseleave'"),e&&e.replace(I,"mouseenter$1 mouseleave$1"))};t.event.props&&"attrChange"!==t.event.props[0]&&t.event.props.unshift("attrChange","attrName","relatedNode","srcElement"),t.event.dispatch&&r(t.event,"handle",t.event.dispatch,"jQuery.event.handle is undocumented and deprecated"),t.event.add=function(t,e,i,r,a){t!==document&&R.test(e)&&n("AJAX events should be attached to document: "+e),A.call(this,t,N(e||""),i,r,a)},t.event.remove=function(t,e,i,n,r){M.call(this,t,N(e)||"",i,n,r)},t.each(["load","unload","error"],function(e,i){t.fn[i]=function(){var t=Array.prototype.slice.call(arguments,0);return"load"===i&&"string"==typeof t[0]?j.apply(this,t):(n("jQuery.fn."+i+"() is deprecated"),t.splice(0,0,i),arguments.length?this.bind.apply(this,t):(this.triggerHandler.apply(this,t),this))}}),t.fn.toggle=function(e,i){if(!t.isFunction(e)||!t.isFunction(i))return O.apply(this,arguments);n("jQuery.fn.toggle(handler, handler...) is deprecated");var r=arguments,a=e.guid||t.guid++,o=0,s=function(i){var n=(t._data(this,"lastToggle"+e.guid)||0)%o;return t._data(this,"lastToggle"+e.guid,n+1),i.preventDefault(),r[n].apply(this,arguments)||!1};for(s.guid=a;o● {{prefix}}{{y}}{{suffix}}')},bar:{barColor:"#3366cc",negBarColor:"#f44",stackedBarColor:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],zeroColor:void 0,nullColor:void 0,zeroAxis:!0,barWidth:4,barSpacing:1,chartRangeMax:void 0,chartRangeMin:void 0,chartRangeClip:!1,colorMap:void 0,tooltipFormat:new n('● {{prefix}}{{value}}{{suffix}}')},tristate:{barWidth:4,barSpacing:1,posBarColor:"#6f6",negBarColor:"#f44",zeroBarColor:"#999",colorMap:{},tooltipFormat:new n('● {{value:map}}'),tooltipValueLookups:{map:{"-1":"Loss",0:"Draw",1:"Win"}}},discrete:{lineHeight:"auto",thresholdColor:void 0,thresholdValue:0,chartRangeMax:void 0,chartRangeMin:void 0,chartRangeClip:!1,tooltipFormat:new n("{{prefix}}{{value}}{{suffix}}")},bullet:{targetColor:"#f33",targetWidth:3,performanceColor:"#33f",rangeColors:["#d3dafe","#a8b6ff","#7f94ff"],base:void 0,tooltipFormat:new n("{{fieldkey:fields}} - {{value}}"),tooltipValueLookups:{fields:{r:"Range",p:"Performance",t:"Target"}}},pie:{offset:0,sliceColors:["#3366cc","#dc3912","#ff9900","#109618","#66aa00","#dd4477","#0099c6","#990099"],borderWidth:0,borderColor:"#000",tooltipFormat:new n('● {{value}} ({{percent.1}}%)')},box:{raw:!1,boxLineColor:"#000",boxFillColor:"#cdf",whiskerColor:"#000",outlierLineColor:"#333",outlierFillColor:"#fff",medianColor:"#f00",showOutliers:!0,outlierIQR:1.5,spotRadius:1.5,target:void 0,targetColor:"#4a2",chartRangeMax:void 0,chartRangeMin:void 0,tooltipFormat:new n("{{field:fields}}: {{value}}"),tooltipFormatFieldlistKey:"field",tooltipValueLookups:{fields:{lq:"Lower Quartile",med:"Median",uq:"Upper Quartile",lo:"Left Outlier",ro:"Right Outlier",lw:"Left Whisker",rw:"Right Whisker"}}}}},A='.jqstooltip { position: absolute;left: 0px;top: 0px;visibility: hidden;background: rgb(0, 0, 0) transparent;background-color: rgba(0,0,0,0.6);filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000);-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)";color: white;font: 10px arial, san serif;text-align: left;white-space: nowrap;padding: 5px;border: 1px solid white;z-index: 10000;}.jqsfield { color: white;font: 10px arial, san serif;text-align: left;}',i=function(){var e,i;return e=function(){this.init.apply(this,arguments)},arguments.length>1?(arguments[0]?(e.prototype=t.extend(new arguments[0],arguments[arguments.length-1]),e._super=arguments[0].prototype):e.prototype=arguments[arguments.length-1],arguments.length>2&&(i=Array.prototype.slice.call(arguments,1,-1),i.unshift(e.prototype),t.extend.apply(t,i))):e.prototype=arguments[0],e.prototype.cls=e,e},t.SPFormatClass=n=i({fre:/\{\{([\w.]+?)(:(.+?))?\}\}/g,precre:/(\w+)\.(\d+)/,init:function(t,e){this.format=t,this.fclass=e},render:function(t,e,i){var n,r,a,o,s,l=this,u=t;return this.format.replace(this.fre,function(){var t;return r=arguments[1],a=arguments[3],n=l.precre.exec(r),n?(s=n[2],r=n[1]):s=!1,void 0===(o=u[r])?"":a&&e&&e[a]?(t=e[a],t.get?e[a].get(o)||o:e[a][o]||o):(h(o)&&(o=i.get("numberFormatter")?i.get("numberFormatter")(o):g(o,s,i.get("numberDigitGroupCount"),i.get("numberDigitGroupSep"),i.get("numberDecimalMark"))),o)})}}),t.spformat=function(t,e){return new n(t,e)},r=function(t,e,i){return ti?i:t},a=function(t,e){var i;return 2===e?(i=s.floor(t.length/2),t.length%2?t[i]:(t[i-1]+t[i])/2):t.length%2?(i=(t.length*e+e)/4,i%1?(t[s.floor(i)]+t[s.floor(i)-1])/2:t[i-1]):(i=(t.length*e+2)/4,i%1?(t[s.floor(i)]+t[s.floor(i)-1])/2:t[i-1])},l=function(t){var e;switch(t){case"undefined":t=void 0;break;case"null":t=null;break;case"true":t=!0;break;case"false":t=!1;break;default:e=parseFloat(t),t==e&&(t=e)}return t},u=function(t){var e,i=[];for(e=t.length;e--;)i[e]=l(t[e]);return i},c=function(t,e){var i,n,r=[];for(i=0,n=t.length;i0;s-=n)e.splice(s,0,r);return e.join("")},d=function(t,e,i){var n;for(n=e.length;n--;)if((!i||null!==e[n])&&e[n]!==t)return!1;return!0},p=function(e){return t.isArray(e)?e:[e]},f=function(t){var e;o.createStyleSheet?o.createStyleSheet().cssText=t:(e=o.createElement("style"),e.type="text/css",o.getElementsByTagName("head")[0].appendChild(e),e["string"==typeof o.body.style.WebkitAppearance?"innerText":"innerHTML"]=t)},t.fn.simpledraw=function(e,i,n,r){var a,s;if(n&&(a=this.data("_jqs_vcanvas")))return a;if(!1===t.fn.sparkline.canvas)return!1;if(void 0===t.fn.sparkline.canvas){var l=o.createElement("canvas");if(l.getContext&&l.getContext("2d"))t.fn.sparkline.canvas=function(t,e,i,n){return new $(t,e,i,n)};else{if(!o.namespaces||o.namespaces.v)return t.fn.sparkline.canvas=!1,!1;o.namespaces.add("v","urn:schemas-microsoft-com:vml","#default#VML"),t.fn.sparkline.canvas=function(t,e,i,n){return new D(t,e,i)}}}return void 0===e&&(e=t(this).innerWidth()),void 0===i&&(i=t(this).innerHeight()),a=t.fn.sparkline.canvas(e,i,this,r),s=t(this).data("_jqs_mhandler"),s&&s.registerCanvas(a),a},t.fn.cleardraw=function(){var t=this.data("_jqs_vcanvas");t&&t.reset()},t.RangeMapClass=m=i({init:function(t){var e,i,n=[];for(e in t)t.hasOwnProperty(e)&&"string"==typeof e&&e.indexOf(":")>-1&&(i=e.split(":"),i[0]=0===i[0].length?-1/0:parseFloat(i[0]),i[1]=0===i[1].length?1/0:parseFloat(i[1]),i[2]=t[e],n.push(i));this.map=t,this.rangelist=n||!1},get:function(t){var e,i,n,r=this.rangelist;if(void 0!==(n=this.map[t]))return n;if(r)for(e=r.length;e--;)if(i=r[e],i[0]<=t&&i[1]>=t)return i[2]}}),t.range_map=function(t){return new m(t)},v=i({init:function(e,i){var n=t(e);this.$el=n,this.options=i,this.currentPageX=0,this.currentPageY=0,this.el=e,this.splist=[],this.tooltip=null,this.over=!1,this.displayTooltips=!i.get("disableTooltips"),this.highlightEnabled=!i.get("disableHighlight")},registerSparkline:function(t){this.splist.push(t),this.over&&this.updateDisplay()},registerCanvas:function(e){var i=t(e.canvas);this.canvas=e,this.$canvas=i,i.mouseenter(t.proxy(this.mouseenter,this)),i.mouseleave(t.proxy(this.mouseleave,this)),i.click(t.proxy(this.mouseclick,this))},reset:function(t){this.splist=[],this.tooltip&&t&&(this.tooltip.remove(),this.tooltip=void 0)},mouseclick:function(e){var i=t.Event("sparklineClick");i.originalEvent=e,i.sparklines=this.splist,this.$el.trigger(i)},mouseenter:function(e){t(o.body).unbind("mousemove.jqs"),t(o.body).bind("mousemove.jqs",t.proxy(this.mousemove,this)),this.over=!0,this.currentPageX=e.pageX,this.currentPageY=e.pageY,this.currentEl=e.target,!this.tooltip&&this.displayTooltips&&(this.tooltip=new _(this.options),this.tooltip.updatePosition(e.pageX,e.pageY)),this.updateDisplay()},mouseleave:function(){t(o.body).unbind("mousemove.jqs");var e,i,n=this.splist,r=n.length,a=!1;for(this.over=!1,this.currentEl=null,this.tooltip&&(this.tooltip.remove(),this.tooltip=null),i=0;i