From cd48f17ac8004934492634c6ab113962cd97771a Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 15:58:11 -0700 Subject: [PATCH 1/7] libcpychecker.html is no longer a namespace --- libcpychecker/refcounts.py | 2 +- {libcpychecker/html => libcpychecker_html}/__init__.py | 0 2 files changed, 1 insertion(+), 1 deletion(-) rename {libcpychecker/html => libcpychecker_html}/__init__.py (100%) diff --git a/libcpychecker/refcounts.py b/libcpychecker/refcounts.py index 5e654cea..bce42ac0 100644 --- a/libcpychecker/refcounts.py +++ b/libcpychecker/refcounts.py @@ -4386,7 +4386,7 @@ def check_refcounts(fun, dump_traces=False, show_traces=False, filename_v2 = ('%s.%s-refcount-errors.v2.html' % (gcc.get_dump_base_name(), fun.decl.name)) - from libcpychecker.html.make_html import HtmlPage + from libcpychecker_html.make_html import HtmlPage data = rep.to_json(fun) srcfile = open(fun.start.file) htmlfile = open(filename_v2, 'w') diff --git a/libcpychecker/html/__init__.py b/libcpychecker_html/__init__.py similarity index 100% rename from libcpychecker/html/__init__.py rename to libcpychecker_html/__init__.py From d4b2b3a90e4aa2e1041369ecd31b28ce01160f59 Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 16:34:13 -0700 Subject: [PATCH 2/7] inline or cdn all html resources --- libcpychecker_html/make_html.py | 60 ++++++++++++++++++++------------- libcpychecker_html/style.css | 15 ++++----- 2 files changed, 43 insertions(+), 32 deletions(-) diff --git a/libcpychecker_html/make_html.py b/libcpychecker_html/make_html.py index 7e6727a8..c52abf5c 100755 --- a/libcpychecker_html/make_html.py +++ b/libcpychecker_html/make_html.py @@ -1,5 +1,7 @@ #!/usr/bin/env python -"""Make our data into HTML!""" +"""Make our data into HTML! +These reports should be usable as email attachments, so either inline or cdn *everything*. +""" from __future__ import print_function # Copyright 2012 Buck Golemon @@ -17,6 +19,8 @@ # You should have received a copy of the GNU General Public License # along with this program. If not, see # . +from os.path import realpath, dirname, join +HERE = dirname(realpath(__file__)) from . import capi @@ -53,16 +57,30 @@ def head(self): }), E.TITLE('%s -- GCC Python Plugin' % self.data['filename']), ) + head.append(E.LINK( + rel='stylesheet', + href='http://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css', + type='text/css' + )) head.extend( - E.LINK(rel='stylesheet', href=css + '.css', type='text/css') - for css in ('extlib/reset-20110126', 'pygments_c', 'style') + E.STYLE( + file_contents(css + '.css'), + media='screen', + type='text/css' + ) + for css in ('pygments_c', 'style') ) head.extend( - E.SCRIPT(src=js + '.js') + E.SCRIPT(src=js) for js in ( - 'extlib/prefixfree-1.0.4.min', - 'extlib/jquery-1.7.1.min', - 'script' + 'http://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js', + 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js', + ) + ) + head.append( + E.SCRIPT( + file_contents('script.js'), + type='text/javascript', ) ) return head @@ -136,7 +154,7 @@ def header(self): E.DIV( E.ATTR(id='bug-toggle'), E.IMG( - src='images/bug.png', + src=data_uri('image/png', 'images/bug.png'), ), E.H3('Bug'), ' [count]', @@ -144,30 +162,18 @@ def header(self): E.DIV( E.ATTR(id='prev'), E.IMG( - src='images/arrow-180.png', + src=data_uri('image/png', 'images/arrow-180.png'), ), ), E.DIV( E.ATTR(id='next'), E.IMG( - src='images/arrow.png', + src=data_uri('image/png', 'images/arrow.png'), ), ), ), ) - @staticmethod - def footer(): - """make the footer""" - return E.E.footer( - E.ATTR(id='footer'), - E.P('  |  '.join(( - 'Hackathon 7.0', - 'Buck G, Alex M, Jason M', - 'Yelp HQ 2012', - ))) - ) - def states(self): """Return an ordered-list of states, for each report.""" for report in self.data['reports']: @@ -247,9 +253,17 @@ def body(self): return E.BODY( self.header(), reports, - self.footer(), ) +def data_uri(mimetype, filename): + data = open(join(HERE, filename)).read().encode('base64').replace('\n', '') + return 'data:%s;base64,%s' % (mimetype, data) + +def file_contents(filename): + # The leading newline makes the first line show up in the right spot. + return '\n' + open(join(HERE, filename)).read() + + class CodeHtmlFormatter(HtmlFormatter): """Format our HTML!""" diff --git a/libcpychecker_html/style.css b/libcpychecker_html/style.css index f12ac05f..d254d265 100755 --- a/libcpychecker_html/style.css +++ b/libcpychecker_html/style.css @@ -57,14 +57,6 @@ img { box-flex: 1; overflow-y: auto; } -#footer { - background: hsl(0, 0%, 30%); - box-shadow: inset 0 3px 3px -3px black; - color: white; - padding: 0.83em; - text-shadow: 0px 1px 0px black; - background-color: #09f; -} /* Header */ @@ -395,6 +387,11 @@ td.selected .flow-dot { } .note:first-of-type::before { - content: url('images/exclamation.png'); + /* content: url('images/exclamation.png'); + * to regenerate: + * from libcpychecker_html.make_html import data_uri + * data_uri('image/png', 'images/exclamation.png') + */ + content: url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAjBJREFUeNqkk0trE1EUx8/cO49OfGTSRNJMYsA0aVonoYh13YW71uJCKFQhKqibfgFLwYULsR/AhY+VG1d+C124kJiFIGipmoIZNUXtZDKTycz1njGpaRNU8MJv7txzzv/c5xEYY/A/TRQEAW5c5KwM+aKcR73/a5zvg84HT371wv07Apwuj0x+PZW/vArA4NO7x/f4+OGoIHLKAAiC/fBdHadSbCGZPTeTzC7OUElbQNvBOISMMnIqeqFSYs57mTkfZD1/qYS2f0rAZ5pVDmXnY/FSbn3jM6xvfAEtfjKnRDLz6BtK4PPPADi+ms6vGK71lti2DUintUVSJ84b6OvF7GlI4PNMPVgAZ49oxpyqRnXf+wGWZYX4ngWRiKYfPpqfw5hBjej7eweqCkSo6JOLhmd/hI7vQLVaBdM0YXt1FgK2CeJ40fCbmxUWsGc8vh3egtcFQPhyLsQnzpQJcbVmuw5mawtqtRo0Gg3wJQeY7ALIrqZEM2WM7esIPkROAgR5OZEpTTV3X4IXNEGiLnw1b4fItBNCBQuiqeQUA7qMGtSSLt8C38aVRLo47QVvVJFYoFAnJJG8FdIfI6rSVWMTx6ZRg1rS7UKeSspSMj2Wk+AbjPGZ+vTboA1JZbQcEcUl1Iq2zdZyxURBpruUMTzR38Vl79wM+9bO0/3vlwLVs+OF16/MNdFug/vi+Xadm+vDL/3uHyuR16Er4E3gKvEaOTLa/1LBuEQPF8hxfgowAINnMqTBUH7hAAAAAElFTkSuQmCC'); padding: 5px; } From d2e56726296e147c48a2f8c345800cbf40ae85df Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 17:59:49 -0700 Subject: [PATCH 3/7] finish embedding all resources. small style fixes. --- libcpychecker_html/make_html.py | 40 ++++++++++++++++++++------------- libcpychecker_html/style.css | 11 +++++++-- 2 files changed, 33 insertions(+), 18 deletions(-) diff --git a/libcpychecker_html/make_html.py b/libcpychecker_html/make_html.py index c52abf5c..5453a323 100755 --- a/libcpychecker_html/make_html.py +++ b/libcpychecker_html/make_html.py @@ -1,8 +1,12 @@ #!/usr/bin/env python """Make our data into HTML! -These reports should be usable as email attachments, so either inline or cdn *everything*. +These reports should be usable as email attachments, offline. +This means we need to embed *all* our assets. + +TODO: #11 optimize the filesize """ from __future__ import print_function +from __future__ import unicode_literals # Copyright 2012 Buck Golemon # @@ -35,6 +39,16 @@ from copy import deepcopy from itertools import islice + +def open(filename, mode='r'): + """All files are treated as UTF-8, unless explicitly binary.""" + from io import open + if 'b' in mode: + return open(filename, mode) + else: + return open(filename, mode, encoding='UTF-8') + + class HtmlPage(object): """Represent one html page.""" def __init__(self, codefile, data): @@ -57,31 +71,24 @@ def head(self): }), E.TITLE('%s -- GCC Python Plugin' % self.data['filename']), ) - head.append(E.LINK( - rel='stylesheet', - href='http://cdnjs.cloudflare.com/ajax/libs/meyer-reset/2.0/reset.min.css', - type='text/css' - )) head.extend( E.STYLE( file_contents(css + '.css'), media='screen', type='text/css' ) - for css in ('pygments_c', 'style') + for css in ('extlib/reset-20110126', 'pygments_c', 'style') ) head.extend( - E.SCRIPT(src=js) - for js in ( - 'http://cdnjs.cloudflare.com/ajax/libs/prefixfree/1.0.7/prefixfree.min.js', - 'http://cdnjs.cloudflare.com/ajax/libs/jquery/1.7.2/jquery.min.js', - ) - ) - head.append( E.SCRIPT( - file_contents('script.js'), + file_contents(js + '.js'), type='text/javascript', ) + for js in ( + 'extlib/prefixfree-1.0.4.min', + 'extlib/jquery-1.7.1.min', + 'script' + ) ) return head @@ -256,7 +263,8 @@ def body(self): ) def data_uri(mimetype, filename): - data = open(join(HERE, filename)).read().encode('base64').replace('\n', '') + "represent a file as a data uri" + data = open(join(HERE, filename), 'rb').read().encode('base64').replace('\n', '') return 'data:%s;base64,%s' % (mimetype, data) def file_contents(filename): diff --git a/libcpychecker_html/style.css b/libcpychecker_html/style.css index d254d265..24d44e8a 100755 --- a/libcpychecker_html/style.css +++ b/libcpychecker_html/style.css @@ -56,6 +56,7 @@ img { #reports { box-flex: 1; overflow-y: auto; + overflow-x: hidden; } @@ -64,7 +65,7 @@ img { display: box; box-orient: horizontal; width: 100%; - padding: 1em; + padding: 0.5em; box-sizing: border-box; color: white; } @@ -182,6 +183,8 @@ img { line-height: 1.33; min-width: 40em; box-flex: 3; + overflow-x: auto; + border-right: 1px solid hsl(0, 0%, 70%); } .source > header { display: box; @@ -277,9 +280,10 @@ img { text-align: right; user-select: none; color: hsl(0, 0%, 60%); + vertical-align: middle; } .source .code { - white-space: pre-wrap; + white-space: pre; } @@ -386,6 +390,9 @@ td.selected .flow-dot { min-width: 200px; } +.note { + font-weight: bolder; +} .note:first-of-type::before { /* content: url('images/exclamation.png'); * to regenerate: From 1d80e1a9a2eae0b8cf1a523b09630218ab6f8a9d Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 19:08:28 -0700 Subject: [PATCH 4/7] closes #11: optimize html v2 size a little --- libcpychecker_html/extlib/jquery-1.7.1.min.js | 4 -- libcpychecker_html/extlib/reset-20110126.css | 48 ------------------- .../extlib/reset-20110126.min.css | 5 ++ libcpychecker_html/extlib/zepto-1.1.3.min.js | 2 + libcpychecker_html/make_html.py | 4 +- libcpychecker_html/script.js | 16 +++---- 6 files changed, 17 insertions(+), 62 deletions(-) delete mode 100644 libcpychecker_html/extlib/jquery-1.7.1.min.js delete mode 100644 libcpychecker_html/extlib/reset-20110126.css create mode 100644 libcpychecker_html/extlib/reset-20110126.min.css create mode 100644 libcpychecker_html/extlib/zepto-1.1.3.min.js diff --git a/libcpychecker_html/extlib/jquery-1.7.1.min.js b/libcpychecker_html/extlib/jquery-1.7.1.min.js deleted file mode 100644 index 198b3ff0..00000000 --- a/libcpychecker_html/extlib/jquery-1.7.1.min.js +++ /dev/null @@ -1,4 +0,0 @@ -/*! jQuery v1.7.1 jquery.com | jquery.org/license */ -(function(a,b){function cy(a){return f.isWindow(a)?a:a.nodeType===9?a.defaultView||a.parentWindow:!1}function cv(a){if(!ck[a]){var b=c.body,d=f("<"+a+">").appendTo(b),e=d.css("display");d.remove();if(e==="none"||e===""){cl||(cl=c.createElement("iframe"),cl.frameBorder=cl.width=cl.height=0),b.appendChild(cl);if(!cm||!cl.createElement)cm=(cl.contentWindow||cl.contentDocument).document,cm.write((c.compatMode==="CSS1Compat"?"":"")+""),cm.close();d=cm.createElement(a),cm.body.appendChild(d),e=f.css(d,"display"),b.removeChild(cl)}ck[a]=e}return ck[a]}function cu(a,b){var c={};f.each(cq.concat.apply([],cq.slice(0,b)),function(){c[this]=a});return c}function ct(){cr=b}function cs(){setTimeout(ct,0);return cr=f.now()}function cj(){try{return new a.ActiveXObject("Microsoft.XMLHTTP")}catch(b){}}function ci(){try{return new a.XMLHttpRequest}catch(b){}}function cc(a,c){a.dataFilter&&(c=a.dataFilter(c,a.dataType));var d=a.dataTypes,e={},g,h,i=d.length,j,k=d[0],l,m,n,o,p;for(g=1;g0){if(c!=="border")for(;g=0===c})}function S(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function K(){return!0}function J(){return!1}function n(a,b,c){var d=b+"defer",e=b+"queue",g=b+"mark",h=f._data(a,d);h&&(c==="queue"||!f._data(a,e))&&(c==="mark"||!f._data(a,g))&&setTimeout(function(){!f._data(a,e)&&!f._data(a,g)&&(f.removeData(a,d,!0),h.fire())},0)}function m(a){for(var b in a){if(b==="data"&&f.isEmptyObject(a[b]))continue;if(b!=="toJSON")return!1}return!0}function l(a,c,d){if(d===b&&a.nodeType===1){var e="data-"+c.replace(k,"-$1").toLowerCase();d=a.getAttribute(e);if(typeof d=="string"){try{d=d==="true"?!0:d==="false"?!1:d==="null"?null:f.isNumeric(d)?parseFloat(d):j.test(d)?f.parseJSON(d):d}catch(g){}f.data(a,c,d)}else d=b}return d}function h(a){var b=g[a]={},c,d;a=a.split(/\s+/);for(c=0,d=a.length;c)[^>]*$|#([\w\-]*)$)/,j=/\S/,k=/^\s+/,l=/\s+$/,m=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,n=/^[\],:{}\s]*$/,o=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,p=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,q=/(?:^|:|,)(?:\s*\[)+/g,r=/(webkit)[ \/]([\w.]+)/,s=/(opera)(?:.*version)?[ \/]([\w.]+)/,t=/(msie) ([\w.]+)/,u=/(mozilla)(?:.*? rv:([\w.]+))?/,v=/-([a-z]|[0-9])/ig,w=/^-ms-/,x=function(a,b){return(b+"").toUpperCase()},y=d.userAgent,z,A,B,C=Object.prototype.toString,D=Object.prototype.hasOwnProperty,E=Array.prototype.push,F=Array.prototype.slice,G=String.prototype.trim,H=Array.prototype.indexOf,I={};e.fn=e.prototype={constructor:e,init:function(a,d,f){var g,h,j,k;if(!a)return this;if(a.nodeType){this.context=this[0]=a,this.length=1;return this}if(a==="body"&&!d&&c.body){this.context=c,this[0]=c.body,this.selector=a,this.length=1;return this}if(typeof a=="string"){a.charAt(0)!=="<"||a.charAt(a.length-1)!==">"||a.length<3?g=i.exec(a):g=[null,a,null];if(g&&(g[1]||!d)){if(g[1]){d=d instanceof e?d[0]:d,k=d?d.ownerDocument||d:c,j=m.exec(a),j?e.isPlainObject(d)?(a=[c.createElement(j[1])],e.fn.attr.call(a,d,!0)):a=[k.createElement(j[1])]:(j=e.buildFragment([g[1]],[k]),a=(j.cacheable?e.clone(j.fragment):j.fragment).childNodes);return e.merge(this,a)}h=c.getElementById(g[2]);if(h&&h.parentNode){if(h.id!==g[2])return f.find(a);this.length=1,this[0]=h}this.context=c,this.selector=a;return this}return!d||d.jquery?(d||f).find(a):this.constructor(d).find(a)}if(e.isFunction(a))return f.ready(a);a.selector!==b&&(this.selector=a.selector,this.context=a.context);return e.makeArray(a,this)},selector:"",jquery:"1.7.1",length:0,size:function(){return this.length},toArray:function(){return F.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this[this.length+a]:this[a]},pushStack:function(a,b,c){var d=this.constructor();e.isArray(a)?E.apply(d,a):e.merge(d,a),d.prevObject=this,d.context=this.context,b==="find"?d.selector=this.selector+(this.selector?" ":"")+c:b&&(d.selector=this.selector+"."+b+"("+c+")");return d},each:function(a,b){return e.each(this,a,b)},ready:function(a){e.bindReady(),A.add(a);return this},eq:function(a){a=+a;return a===-1?this.slice(a):this.slice(a,a+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(F.apply(this,arguments),"slice",F.call(arguments).join(","))},map:function(a){return this.pushStack(e.map(this,function(b,c){return a.call(b,c,b)}))},end:function(){return this.prevObject||this.constructor(null)},push:E,sort:[].sort,splice:[].splice},e.fn.init.prototype=e.fn,e.extend=e.fn.extend=function(){var a,c,d,f,g,h,i=arguments[0]||{},j=1,k=arguments.length,l=!1;typeof i=="boolean"&&(l=i,i=arguments[1]||{},j=2),typeof i!="object"&&!e.isFunction(i)&&(i={}),k===j&&(i=this,--j);for(;j0)return;A.fireWith(c,[e]),e.fn.trigger&&e(c).trigger("ready").off("ready")}},bindReady:function(){if(!A){A=e.Callbacks("once memory");if(c.readyState==="complete")return setTimeout(e.ready,1);if(c.addEventListener)c.addEventListener("DOMContentLoaded",B,!1),a.addEventListener("load",e.ready,!1);else if(c.attachEvent){c.attachEvent("onreadystatechange",B),a.attachEvent("onload",e.ready);var b=!1;try{b=a.frameElement==null}catch(d){}c.documentElement.doScroll&&b&&J()}}},isFunction:function(a){return e.type(a)==="function"},isArray:Array.isArray||function(a){return e.type(a)==="array"},isWindow:function(a){return a&&typeof a=="object"&&"setInterval"in a},isNumeric:function(a){return!isNaN(parseFloat(a))&&isFinite(a)},type:function(a){return a==null?String(a):I[C.call(a)]||"object"},isPlainObject:function(a){if(!a||e.type(a)!=="object"||a.nodeType||e.isWindow(a))return!1;try{if(a.constructor&&!D.call(a,"constructor")&&!D.call(a.constructor.prototype,"isPrototypeOf"))return!1}catch(c){return!1}var d;for(d in a);return d===b||D.call(a,d)},isEmptyObject:function(a){for(var b in a)return!1;return!0},error:function(a){throw new Error(a)},parseJSON:function(b){if(typeof b!="string"||!b)return null;b=e.trim(b);if(a.JSON&&a.JSON.parse)return a.JSON.parse(b);if(n.test(b.replace(o,"@").replace(p,"]").replace(q,"")))return(new Function("return "+b))();e.error("Invalid JSON: "+b)},parseXML:function(c){var d,f;try{a.DOMParser?(f=new DOMParser,d=f.parseFromString(c,"text/xml")):(d=new ActiveXObject("Microsoft.XMLDOM"),d.async="false",d.loadXML(c))}catch(g){d=b}(!d||!d.documentElement||d.getElementsByTagName("parsererror").length)&&e.error("Invalid XML: "+c);return d},noop:function(){},globalEval:function(b){b&&j.test(b)&&(a.execScript||function(b){a.eval.call(a,b)})(b)},camelCase:function(a){return a.replace(w,"ms-").replace(v,x)},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,c,d){var f,g=0,h=a.length,i=h===b||e.isFunction(a);if(d){if(i){for(f in a)if(c.apply(a[f],d)===!1)break}else for(;g0&&a[0]&&a[j-1]||j===0||e.isArray(a));if(k)for(;i1?i.call(arguments,0):b,j.notifyWith(k,e)}}function l(a){return function(c){b[a]=arguments.length>1?i.call(arguments,0):c,--g||j.resolveWith(j,b)}}var b=i.call(arguments,0),c=0,d=b.length,e=Array(d),g=d,h=d,j=d<=1&&a&&f.isFunction(a.promise)?a:f.Deferred(),k=j.promise();if(d>1){for(;c
a",d=q.getElementsByTagName("*"),e=q.getElementsByTagName("a")[0];if(!d||!d.length||!e)return{};g=c.createElement("select"),h=g.appendChild(c.createElement("option")),i=q.getElementsByTagName("input")[0],b={leadingWhitespace:q.firstChild.nodeType===3,tbody:!q.getElementsByTagName("tbody").length,htmlSerialize:!!q.getElementsByTagName("link").length,style:/top/.test(e.getAttribute("style")),hrefNormalized:e.getAttribute("href")==="/a",opacity:/^0.55/.test(e.style.opacity),cssFloat:!!e.style.cssFloat,checkOn:i.value==="on",optSelected:h.selected,getSetAttribute:q.className!=="t",enctype:!!c.createElement("form").enctype,html5Clone:c.createElement("nav").cloneNode(!0).outerHTML!=="<:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0},i.checked=!0,b.noCloneChecked=i.cloneNode(!0).checked,g.disabled=!0,b.optDisabled=!h.disabled;try{delete q.test}catch(s){b.deleteExpando=!1}!q.addEventListener&&q.attachEvent&&q.fireEvent&&(q.attachEvent("onclick",function(){b.noCloneEvent=!1}),q.cloneNode(!0).fireEvent("onclick")),i=c.createElement("input"),i.value="t",i.setAttribute("type","radio"),b.radioValue=i.value==="t",i.setAttribute("checked","checked"),q.appendChild(i),k=c.createDocumentFragment(),k.appendChild(q.lastChild),b.checkClone=k.cloneNode(!0).cloneNode(!0).lastChild.checked,b.appendChecked=i.checked,k.removeChild(i),k.appendChild(q),q.innerHTML="",a.getComputedStyle&&(j=c.createElement("div"),j.style.width="0",j.style.marginRight="0",q.style.width="2px",q.appendChild(j),b.reliableMarginRight=(parseInt((a.getComputedStyle(j,null)||{marginRight:0}).marginRight,10)||0)===0);if(q.attachEvent)for(o in{submit:1,change:1,focusin:1})n="on"+o,p=n in q,p||(q.setAttribute(n,"return;"),p=typeof q[n]=="function"),b[o+"Bubbles"]=p;k.removeChild(q),k=g=h=j=q=i=null,f(function(){var a,d,e,g,h,i,j,k,m,n,o,r=c.getElementsByTagName("body")[0];!r||(j=1,k="position:absolute;top:0;left:0;width:1px;height:1px;margin:0;",m="visibility:hidden;border:0;",n="style='"+k+"border:5px solid #000;padding:0;'",o="
"+""+"
",a=c.createElement("div"),a.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+j+"px",r.insertBefore(a,r.firstChild),q=c.createElement("div"),a.appendChild(q),q.innerHTML="
t
",l=q.getElementsByTagName("td"),p=l[0].offsetHeight===0,l[0].style.display="",l[1].style.display="none",b.reliableHiddenOffsets=p&&l[0].offsetHeight===0,q.innerHTML="",q.style.width=q.style.paddingLeft="1px",f.boxModel=b.boxModel=q.offsetWidth===2,typeof q.style.zoom!="undefined"&&(q.style.display="inline",q.style.zoom=1,b.inlineBlockNeedsLayout=q.offsetWidth===2,q.style.display="",q.innerHTML="
",b.shrinkWrapBlocks=q.offsetWidth!==2),q.style.cssText=k+m,q.innerHTML=o,d=q.firstChild,e=d.firstChild,h=d.nextSibling.firstChild.firstChild,i={doesNotAddBorder:e.offsetTop!==5,doesAddBorderForTableAndCells:h.offsetTop===5},e.style.position="fixed",e.style.top="20px",i.fixedPosition=e.offsetTop===20||e.offsetTop===15,e.style.position=e.style.top="",d.style.overflow="hidden",d.style.position="relative",i.subtractsBorderForOverflowNotVisible=e.offsetTop===-5,i.doesNotIncludeMarginInBodyOffset=r.offsetTop!==j,r.removeChild(a),q=a=null,f.extend(b,i))});return b}();var j=/^(?:\{.*\}|\[.*\])$/,k=/([A-Z])/g;f.extend({cache:{},uuid:0,expando:"jQuery"+(f.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(a){a=a.nodeType?f.cache[a[f.expando]]:a[f.expando];return!!a&&!m(a)},data:function(a,c,d,e){if(!!f.acceptData(a)){var g,h,i,j=f.expando,k=typeof c=="string",l=a.nodeType,m=l?f.cache:a,n=l?a[j]:a[j]&&j,o=c==="events";if((!n||!m[n]||!o&&!e&&!m[n].data)&&k&&d===b)return;n||(l?a[j]=n=++f.uuid:n=j),m[n]||(m[n]={},l||(m[n].toJSON=f.noop));if(typeof c=="object"||typeof c=="function")e?m[n]=f.extend(m[n],c):m[n].data=f.extend(m[n].data,c);g=h=m[n],e||(h.data||(h.data={}),h=h.data),d!==b&&(h[f.camelCase(c)]=d);if(o&&!h[c])return g.events;k?(i=h[c],i==null&&(i=h[f.camelCase(c)])):i=h;return i}},removeData:function(a,b,c){if(!!f.acceptData(a)){var d,e,g,h=f.expando,i=a.nodeType,j=i?f.cache:a,k=i?a[h]:h;if(!j[k])return;if(b){d=c?j[k]:j[k].data;if(d){f.isArray(b)||(b in d?b=[b]:(b=f.camelCase(b),b in d?b=[b]:b=b.split(" ")));for(e=0,g=b.length;e-1)return!0;return!1},val:function(a){var c,d,e,g=this[0];{if(!!arguments.length){e=f.isFunction(a);return this.each(function(d){var g=f(this),h;if(this.nodeType===1){e?h=a.call(this,d,g.val()):h=a,h==null?h="":typeof h=="number"?h+="":f.isArray(h)&&(h=f.map(h,function(a){return a==null?"":a+""})),c=f.valHooks[this.nodeName.toLowerCase()]||f.valHooks[this.type];if(!c||!("set"in c)||c.set(this,h,"value")===b)this.value=h}})}if(g){c=f.valHooks[g.nodeName.toLowerCase()]||f.valHooks[g.type];if(c&&"get"in c&&(d=c.get(g,"value"))!==b)return d;d=g.value;return typeof d=="string"?d.replace(q,""):d==null?"":d}}}}),f.extend({valHooks:{option:{get:function(a){var b=a.attributes.value;return!b||b.specified?a.value:a.text}},select:{get:function(a){var b,c,d,e,g=a.selectedIndex,h=[],i=a.options,j=a.type==="select-one";if(g<0)return null;c=j?g:0,d=j?g+1:i.length;for(;c=0}),c.length||(a.selectedIndex=-1);return c}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(a,c,d,e){var g,h,i,j=a.nodeType;if(!!a&&j!==3&&j!==8&&j!==2){if(e&&c in f.attrFn)return f(a)[c](d);if(typeof a.getAttribute=="undefined")return f.prop(a,c,d);i=j!==1||!f.isXMLDoc(a),i&&(c=c.toLowerCase(),h=f.attrHooks[c]||(u.test(c)?x:w));if(d!==b){if(d===null){f.removeAttr(a,c);return}if(h&&"set"in h&&i&&(g=h.set(a,d,c))!==b)return g;a.setAttribute(c,""+d);return d}if(h&&"get"in h&&i&&(g=h.get(a,c))!==null)return g;g=a.getAttribute(c);return g===null?b:g}},removeAttr:function(a,b){var c,d,e,g,h=0;if(b&&a.nodeType===1){d=b.toLowerCase().split(p),g=d.length;for(;h=0}})});var z=/^(?:textarea|input|select)$/i,A=/^([^\.]*)?(?:\.(.+))?$/,B=/\bhover(\.\S+)?\b/,C=/^key/,D=/^(?:mouse|contextmenu)|click/,E=/^(?:focusinfocus|focusoutblur)$/,F=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,G=function(a){var b=F.exec(a);b&&(b[1]=(b[1]||"").toLowerCase(),b[3]=b[3]&&new RegExp("(?:^|\\s)"+b[3]+"(?:\\s|$)"));return b},H=function(a,b){var c=a.attributes||{};return(!b[1]||a.nodeName.toLowerCase()===b[1])&&(!b[2]||(c.id||{}).value===b[2])&&(!b[3]||b[3].test((c["class"]||{}).value))},I=function(a){return f.event.special.hover?a:a.replace(B,"mouseenter$1 mouseleave$1")}; -f.event={add:function(a,c,d,e,g){var h,i,j,k,l,m,n,o,p,q,r,s;if(!(a.nodeType===3||a.nodeType===8||!c||!d||!(h=f._data(a)))){d.handler&&(p=d,d=p.handler),d.guid||(d.guid=f.guid++),j=h.events,j||(h.events=j={}),i=h.handle,i||(h.handle=i=function(a){return typeof f!="undefined"&&(!a||f.event.triggered!==a.type)?f.event.dispatch.apply(i.elem,arguments):b},i.elem=a),c=f.trim(I(c)).split(" ");for(k=0;k=0&&(h=h.slice(0,-1),k=!0),h.indexOf(".")>=0&&(i=h.split("."),h=i.shift(),i.sort());if((!e||f.event.customEvent[h])&&!f.event.global[h])return;c=typeof c=="object"?c[f.expando]?c:new f.Event(h,c):new f.Event(h),c.type=h,c.isTrigger=!0,c.exclusive=k,c.namespace=i.join("."),c.namespace_re=c.namespace?new RegExp("(^|\\.)"+i.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,o=h.indexOf(":")<0?"on"+h:"";if(!e){j=f.cache;for(l in j)j[l].events&&j[l].events[h]&&f.event.trigger(c,d,j[l].handle.elem,!0);return}c.result=b,c.target||(c.target=e),d=d!=null?f.makeArray(d):[],d.unshift(c),p=f.event.special[h]||{};if(p.trigger&&p.trigger.apply(e,d)===!1)return;r=[[e,p.bindType||h]];if(!g&&!p.noBubble&&!f.isWindow(e)){s=p.delegateType||h,m=E.test(s+h)?e:e.parentNode,n=null;for(;m;m=m.parentNode)r.push([m,s]),n=m;n&&n===e.ownerDocument&&r.push([n.defaultView||n.parentWindow||a,s])}for(l=0;le&&i.push({elem:this,matches:d.slice(e)});for(j=0;j0?this.on(b,null,a,c):this.trigger(b)},f.attrFn&&(f.attrFn[b]=!0),C.test(b)&&(f.event.fixHooks[b]=f.event.keyHooks),D.test(b)&&(f.event.fixHooks[b]=f.event.mouseHooks)}),function(){function x(a,b,c,e,f,g){for(var h=0,i=e.length;h0){k=j;break}}j=j[a]}e[h]=k}}}function w(a,b,c,e,f,g){for(var h=0,i=e.length;h+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,d="sizcache"+(Math.random()+"").replace(".",""),e=0,g=Object.prototype.toString,h=!1,i=!0,j=/\\/g,k=/\r\n/g,l=/\W/;[0,0].sort(function(){i=!1;return 0});var m=function(b,d,e,f){e=e||[],d=d||c;var h=d;if(d.nodeType!==1&&d.nodeType!==9)return[];if(!b||typeof b!="string")return e;var i,j,k,l,n,q,r,t,u=!0,v=m.isXML(d),w=[],x=b;do{a.exec(""),i=a.exec(x);if(i){x=i[3],w.push(i[1]);if(i[2]){l=i[3];break}}}while(i);if(w.length>1&&p.exec(b))if(w.length===2&&o.relative[w[0]])j=y(w[0]+w[1],d,f);else{j=o.relative[w[0]]?[d]:m(w.shift(),d);while(w.length)b=w.shift(),o.relative[b]&&(b+=w.shift()),j=y(b,j,f)}else{!f&&w.length>1&&d.nodeType===9&&!v&&o.match.ID.test(w[0])&&!o.match.ID.test(w[w.length-1])&&(n=m.find(w.shift(),d,v),d=n.expr?m.filter(n.expr,n.set)[0]:n.set[0]);if(d){n=f?{expr:w.pop(),set:s(f)}:m.find(w.pop(),w.length===1&&(w[0]==="~"||w[0]==="+")&&d.parentNode?d.parentNode:d,v),j=n.expr?m.filter(n.expr,n.set):n.set,w.length>0?k=s(j):u=!1;while(w.length)q=w.pop(),r=q,o.relative[q]?r=w.pop():q="",r==null&&(r=d),o.relative[q](k,r,v)}else k=w=[]}k||(k=j),k||m.error(q||b);if(g.call(k)==="[object Array]")if(!u)e.push.apply(e,k);else if(d&&d.nodeType===1)for(t=0;k[t]!=null;t++)k[t]&&(k[t]===!0||k[t].nodeType===1&&m.contains(d,k[t]))&&e.push(j[t]);else for(t=0;k[t]!=null;t++)k[t]&&k[t].nodeType===1&&e.push(j[t]);else s(k,e);l&&(m(l,h,e,f),m.uniqueSort(e));return e};m.uniqueSort=function(a){if(u){h=i,a.sort(u);if(h)for(var b=1;b0},m.find=function(a,b,c){var d,e,f,g,h,i;if(!a)return[];for(e=0,f=o.order.length;e":function(a,b){var c,d=typeof b=="string",e=0,f=a.length;if(d&&!l.test(b)){b=b.toLowerCase();for(;e=0)?c||d.push(h):c&&(b[g]=!1));return!1},ID:function(a){return a[1].replace(j,"")},TAG:function(a,b){return a[1].replace(j,"").toLowerCase()},CHILD:function(a){if(a[1]==="nth"){a[2]||m.error(a[0]),a[2]=a[2].replace(/^\+|\s*/g,"");var b=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(a[2]==="even"&&"2n"||a[2]==="odd"&&"2n+1"||!/\D/.test(a[2])&&"0n+"+a[2]||a[2]);a[2]=b[1]+(b[2]||1)-0,a[3]=b[3]-0}else a[2]&&m.error(a[0]);a[0]=e++;return a},ATTR:function(a,b,c,d,e,f){var g=a[1]=a[1].replace(j,"");!f&&o.attrMap[g]&&(a[1]=o.attrMap[g]),a[4]=(a[4]||a[5]||"").replace(j,""),a[2]==="~="&&(a[4]=" "+a[4]+" ");return a},PSEUDO:function(b,c,d,e,f){if(b[1]==="not")if((a.exec(b[3])||"").length>1||/^\w/.test(b[3]))b[3]=m(b[3],null,null,c);else{var g=m.filter(b[3],c,d,!0^f);d||e.push.apply(e,g);return!1}else if(o.match.POS.test(b[0])||o.match.CHILD.test(b[0]))return!0;return b},POS:function(a){a.unshift(!0);return a}},filters:{enabled:function(a){return a.disabled===!1&&a.type!=="hidden"},disabled:function(a){return a.disabled===!0},checked:function(a){return a.checked===!0},selected:function(a){a.parentNode&&a.parentNode.selectedIndex;return a.selected===!0},parent:function(a){return!!a.firstChild},empty:function(a){return!a.firstChild},has:function(a,b,c){return!!m(c[3],a).length},header:function(a){return/h\d/i.test(a.nodeName)},text:function(a){var b=a.getAttribute("type"),c=a.type;return a.nodeName.toLowerCase()==="input"&&"text"===c&&(b===c||b===null)},radio:function(a){return a.nodeName.toLowerCase()==="input"&&"radio"===a.type},checkbox:function(a){return a.nodeName.toLowerCase()==="input"&&"checkbox"===a.type},file:function(a){return a.nodeName.toLowerCase()==="input"&&"file"===a.type},password:function(a){return a.nodeName.toLowerCase()==="input"&&"password"===a.type},submit:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"submit"===a.type},image:function(a){return a.nodeName.toLowerCase()==="input"&&"image"===a.type},reset:function(a){var b=a.nodeName.toLowerCase();return(b==="input"||b==="button")&&"reset"===a.type},button:function(a){var b=a.nodeName.toLowerCase();return b==="input"&&"button"===a.type||b==="button"},input:function(a){return/input|select|textarea|button/i.test(a.nodeName)},focus:function(a){return a===a.ownerDocument.activeElement}},setFilters:{first:function(a,b){return b===0},last:function(a,b,c,d){return b===d.length-1},even:function(a,b){return b%2===0},odd:function(a,b){return b%2===1},lt:function(a,b,c){return bc[3]-0},nth:function(a,b,c){return c[3]-0===b},eq:function(a,b,c){return c[3]-0===b}},filter:{PSEUDO:function(a,b,c,d){var e=b[1],f=o.filters[e];if(f)return f(a,c,b,d);if(e==="contains")return(a.textContent||a.innerText||n([a])||"").indexOf(b[3])>=0;if(e==="not"){var g=b[3];for(var h=0,i=g.length;h=0}},ID:function(a,b){return a.nodeType===1&&a.getAttribute("id")===b},TAG:function(a,b){return b==="*"&&a.nodeType===1||!!a.nodeName&&a.nodeName.toLowerCase()===b},CLASS:function(a,b){return(" "+(a.className||a.getAttribute("class"))+" ").indexOf(b)>-1},ATTR:function(a,b){var c=b[1],d=m.attr?m.attr(a,c):o.attrHandle[c]?o.attrHandle[c](a):a[c]!=null?a[c]:a.getAttribute(c),e=d+"",f=b[2],g=b[4];return d==null?f==="!=":!f&&m.attr?d!=null:f==="="?e===g:f==="*="?e.indexOf(g)>=0:f==="~="?(" "+e+" ").indexOf(g)>=0:g?f==="!="?e!==g:f==="^="?e.indexOf(g)===0:f==="$="?e.substr(e.length-g.length)===g:f==="|="?e===g||e.substr(0,g.length+1)===g+"-":!1:e&&d!==!1},POS:function(a,b,c,d){var e=b[2],f=o.setFilters[e];if(f)return f(a,c,b,d)}}},p=o.match.POS,q=function(a,b){return"\\"+(b-0+1)};for(var r in o.match)o.match[r]=new RegExp(o.match[r].source+/(?![^\[]*\])(?![^\(]*\))/.source),o.leftMatch[r]=new RegExp(/(^(?:.|\r|\n)*?)/.source+o.match[r].source.replace(/\\(\d+)/g,q));var s=function(a,b){a=Array.prototype.slice.call(a,0);if(b){b.push.apply(b,a);return b}return a};try{Array.prototype.slice.call(c.documentElement.childNodes,0)[0].nodeType}catch(t){s=function(a,b){var c=0,d=b||[];if(g.call(a)==="[object Array]")Array.prototype.push.apply(d,a);else if(typeof a.length=="number")for(var e=a.length;c",e.insertBefore(a,e.firstChild),c.getElementById(d)&&(o.find.ID=function(a,c,d){if(typeof c.getElementById!="undefined"&&!d){var e=c.getElementById(a[1]);return e?e.id===a[1]||typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id").nodeValue===a[1]?[e]:b:[]}},o.filter.ID=function(a,b){var c=typeof a.getAttributeNode!="undefined"&&a.getAttributeNode("id");return a.nodeType===1&&c&&c.nodeValue===b}),e.removeChild(a),e=a=null}(),function(){var a=c.createElement("div");a.appendChild(c.createComment("")),a.getElementsByTagName("*").length>0&&(o.find.TAG=function(a,b){var c=b.getElementsByTagName(a[1]);if(a[1]==="*"){var d=[];for(var e=0;c[e];e++)c[e].nodeType===1&&d.push(c[e]);c=d}return c}),a.innerHTML="",a.firstChild&&typeof a.firstChild.getAttribute!="undefined"&&a.firstChild.getAttribute("href")!=="#"&&(o.attrHandle.href=function(a){return a.getAttribute("href",2)}),a=null}(),c.querySelectorAll&&function(){var a=m,b=c.createElement("div"),d="__sizzle__";b.innerHTML="

";if(!b.querySelectorAll||b.querySelectorAll(".TEST").length!==0){m=function(b,e,f,g){e=e||c;if(!g&&!m.isXML(e)){var h=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(b);if(h&&(e.nodeType===1||e.nodeType===9)){if(h[1])return s(e.getElementsByTagName(b),f);if(h[2]&&o.find.CLASS&&e.getElementsByClassName)return s(e.getElementsByClassName(h[2]),f)}if(e.nodeType===9){if(b==="body"&&e.body)return s([e.body],f);if(h&&h[3]){var i=e.getElementById(h[3]);if(!i||!i.parentNode)return s([],f);if(i.id===h[3])return s([i],f)}try{return s(e.querySelectorAll(b),f)}catch(j){}}else if(e.nodeType===1&&e.nodeName.toLowerCase()!=="object"){var k=e,l=e.getAttribute("id"),n=l||d,p=e.parentNode,q=/^\s*[+~]/.test(b);l?n=n.replace(/'/g,"\\$&"):e.setAttribute("id",n),q&&p&&(e=e.parentNode);try{if(!q||p)return s(e.querySelectorAll("[id='"+n+"'] "+b),f)}catch(r){}finally{l||k.removeAttribute("id")}}}return a(b,e,f,g)};for(var e in a)m[e]=a[e];b=null}}(),function(){var a=c.documentElement,b=a.matchesSelector||a.mozMatchesSelector||a.webkitMatchesSelector||a.msMatchesSelector;if(b){var d=!b.call(c.createElement("div"),"div"),e=!1;try{b.call(c.documentElement,"[test!='']:sizzle")}catch(f){e=!0}m.matchesSelector=function(a,c){c=c.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!m.isXML(a))try{if(e||!o.match.PSEUDO.test(c)&&!/!=/.test(c)){var f=b.call(a,c);if(f||!d||a.document&&a.document.nodeType!==11)return f}}catch(g){}return m(c,null,null,[a]).length>0}}}(),function(){var a=c.createElement("div");a.innerHTML="
";if(!!a.getElementsByClassName&&a.getElementsByClassName("e").length!==0){a.lastChild.className="e";if(a.getElementsByClassName("e").length===1)return;o.order.splice(1,0,"CLASS"),o.find.CLASS=function(a,b,c){if(typeof b.getElementsByClassName!="undefined"&&!c)return b.getElementsByClassName(a[1])},a=null}}(),c.documentElement.contains?m.contains=function(a,b){return a!==b&&(a.contains?a.contains(b):!0)}:c.documentElement.compareDocumentPosition?m.contains=function(a,b){return!!(a.compareDocumentPosition(b)&16)}:m.contains=function(){return!1},m.isXML=function(a){var b=(a?a.ownerDocument||a:0).documentElement;return b?b.nodeName!=="HTML":!1};var y=function(a,b,c){var d,e=[],f="",g=b.nodeType?[b]:b;while(d=o.match.PSEUDO.exec(a))f+=d[0],a=a.replace(o.match.PSEUDO,"");a=o.relative[a]?a+"*":a;for(var h=0,i=g.length;h0)for(h=g;h=0:f.filter(a,this).length>0:this.filter(a).length>0)},closest:function(a,b){var c=[],d,e,g=this[0];if(f.isArray(a)){var h=1;while(g&&g.ownerDocument&&g!==b){for(d=0;d-1:f.find.matchesSelector(g,a)){c.push(g);break}g=g.parentNode;if(!g||!g.ownerDocument||g===b||g.nodeType===11)break}}c=c.length>1?f.unique(c):c;return this.pushStack(c,"closest",a)},index:function(a){if(!a)return this[0]&&this[0].parentNode?this.prevAll().length:-1;if(typeof a=="string")return f.inArray(this[0],f(a));return f.inArray(a.jquery?a[0]:a,this)},add:function(a,b){var c=typeof a=="string"?f(a,b):f.makeArray(a&&a.nodeType?[a]:a),d=f.merge(this.get(),c);return this.pushStack(S(c[0])||S(d[0])?d:f.unique(d))},andSelf:function(){return this.add(this.prevObject)}}),f.each({parent:function(a){var b=a.parentNode;return b&&b.nodeType!==11?b:null},parents:function(a){return f.dir(a,"parentNode")},parentsUntil:function(a,b,c){return f.dir(a,"parentNode",c)},next:function(a){return f.nth(a,2,"nextSibling")},prev:function(a){return f.nth(a,2,"previousSibling")},nextAll:function(a){return f.dir(a,"nextSibling")},prevAll:function(a){return f.dir(a,"previousSibling")},nextUntil:function(a,b,c){return f.dir(a,"nextSibling",c)},prevUntil:function(a,b,c){return f.dir(a,"previousSibling",c)},siblings:function(a){return f.sibling(a.parentNode.firstChild,a)},children:function(a){return f.sibling(a.firstChild)},contents:function(a){return f.nodeName(a,"iframe")?a.contentDocument||a.contentWindow.document:f.makeArray(a.childNodes)}},function(a,b){f.fn[a]=function(c,d){var e=f.map(this,b,c);L.test(a)||(d=c),d&&typeof d=="string"&&(e=f.filter(d,e)),e=this.length>1&&!R[a]?f.unique(e):e,(this.length>1||N.test(d))&&M.test(a)&&(e=e.reverse());return this.pushStack(e,a,P.call(arguments).join(","))}}),f.extend({filter:function(a,b,c){c&&(a=":not("+a+")");return b.length===1?f.find.matchesSelector(b[0],a)?[b[0]]:[]:f.find.matches(a,b)},dir:function(a,c,d){var e=[],g=a[c];while(g&&g.nodeType!==9&&(d===b||g.nodeType!==1||!f(g).is(d)))g.nodeType===1&&e.push(g),g=g[c];return e},nth:function(a,b,c,d){b=b||1;var e=0;for(;a;a=a[c])if(a.nodeType===1&&++e===b)break;return a},sibling:function(a,b){var c=[];for(;a;a=a.nextSibling)a.nodeType===1&&a!==b&&c.push(a);return c}});var V="abbr|article|aside|audio|canvas|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",W=/ jQuery\d+="(?:\d+|null)"/g,X=/^\s+/,Y=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,Z=/<([\w:]+)/,$=/",""],legend:[1,"
","
"],thead:[1,"","
"],tr:[2,"","
"],td:[3,"","
"],col:[2,"","
"],area:[1,"",""],_default:[0,"",""]},bh=U(c);bg.optgroup=bg.option,bg.tbody=bg.tfoot=bg.colgroup=bg.caption=bg.thead,bg.th=bg.td,f.support.htmlSerialize||(bg._default=[1,"div
","
"]),f.fn.extend({text:function(a){if(f.isFunction(a))return this.each(function(b){var c=f(this);c.text(a.call(this,b,c.text()))});if(typeof a!="object"&&a!==b)return this.empty().append((this[0]&&this[0].ownerDocument||c).createTextNode(a));return f.text(this)},wrapAll:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapAll(a.call(this,b))});if(this[0]){var b=f(a,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&b.insertBefore(this[0]),b.map(function(){var a=this;while(a.firstChild&&a.firstChild.nodeType===1)a=a.firstChild;return a}).append(this)}return this},wrapInner:function(a){if(f.isFunction(a))return this.each(function(b){f(this).wrapInner(a.call(this,b))});return this.each(function(){var b=f(this),c=b.contents();c.length?c.wrapAll(a):b.append(a)})},wrap:function(a){var b=f.isFunction(a);return this.each(function(c){f(this).wrapAll(b?a.call(this,c):a)})},unwrap:function(){return this.parent().each(function(){f.nodeName(this,"body")||f(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.appendChild(a)})},prepend:function(){return this.domManip(arguments,!0,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this)});if(arguments.length){var a=f.clean(arguments);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(a){this.parentNode.insertBefore(a,this.nextSibling)});if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,f.clean(arguments));return a}},remove:function(a,b){for(var c=0,d;(d=this[c])!=null;c++)if(!a||f.filter(a,[d]).length)!b&&d.nodeType===1&&(f.cleanData(d.getElementsByTagName("*")),f.cleanData([d])),d.parentNode&&d.parentNode.removeChild(d);return this},empty:function() -{for(var a=0,b;(b=this[a])!=null;a++){b.nodeType===1&&f.cleanData(b.getElementsByTagName("*"));while(b.firstChild)b.removeChild(b.firstChild)}return this},clone:function(a,b){a=a==null?!1:a,b=b==null?a:b;return this.map(function(){return f.clone(this,a,b)})},html:function(a){if(a===b)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(W,""):null;if(typeof a=="string"&&!ba.test(a)&&(f.support.leadingWhitespace||!X.test(a))&&!bg[(Z.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Y,"<$1>");try{for(var c=0,d=this.length;c1&&l0?this.clone(!0):this).get();f(e[h])[b](j),d=d.concat(j)}return this.pushStack(d,a,e.selector)}}),f.extend({clone:function(a,b,c){var d,e,g,h=f.support.html5Clone||!bc.test("<"+a.nodeName)?a.cloneNode(!0):bo(a);if((!f.support.noCloneEvent||!f.support.noCloneChecked)&&(a.nodeType===1||a.nodeType===11)&&!f.isXMLDoc(a)){bk(a,h),d=bl(a),e=bl(h);for(g=0;d[g];++g)e[g]&&bk(d[g],e[g])}if(b){bj(a,h);if(c){d=bl(a),e=bl(h);for(g=0;d[g];++g)bj(d[g],e[g])}}d=e=null;return h},clean:function(a,b,d,e){var g;b=b||c,typeof b.createElement=="undefined"&&(b=b.ownerDocument||b[0]&&b[0].ownerDocument||c);var h=[],i;for(var j=0,k;(k=a[j])!=null;j++){typeof k=="number"&&(k+="");if(!k)continue;if(typeof k=="string")if(!_.test(k))k=b.createTextNode(k);else{k=k.replace(Y,"<$1>");var l=(Z.exec(k)||["",""])[1].toLowerCase(),m=bg[l]||bg._default,n=m[0],o=b.createElement("div");b===c?bh.appendChild(o):U(b).appendChild(o),o.innerHTML=m[1]+k+m[2];while(n--)o=o.lastChild;if(!f.support.tbody){var p=$.test(k),q=l==="table"&&!p?o.firstChild&&o.firstChild.childNodes:m[1]===""&&!p?o.childNodes:[];for(i=q.length-1;i>=0;--i)f.nodeName(q[i],"tbody")&&!q[i].childNodes.length&&q[i].parentNode.removeChild(q[i])}!f.support.leadingWhitespace&&X.test(k)&&o.insertBefore(b.createTextNode(X.exec(k)[0]),o.firstChild),k=o.childNodes}var r;if(!f.support.appendChecked)if(k[0]&&typeof (r=k.length)=="number")for(i=0;i=0)return b+"px"}}}),f.support.opacity||(f.cssHooks.opacity={get:function(a,b){return br.test((b&&a.currentStyle?a.currentStyle.filter:a.style.filter)||"")?parseFloat(RegExp.$1)/100+"":b?"1":""},set:function(a,b){var c=a.style,d=a.currentStyle,e=f.isNumeric(b)?"alpha(opacity="+b*100+")":"",g=d&&d.filter||c.filter||"";c.zoom=1;if(b>=1&&f.trim(g.replace(bq,""))===""){c.removeAttribute("filter");if(d&&!d.filter)return}c.filter=bq.test(g)?g.replace(bq,e):g+" "+e}}),f(function(){f.support.reliableMarginRight||(f.cssHooks.marginRight={get:function(a,b){var c;f.swap(a,{display:"inline-block"},function(){b?c=bz(a,"margin-right","marginRight"):c=a.style.marginRight});return c}})}),c.defaultView&&c.defaultView.getComputedStyle&&(bA=function(a,b){var c,d,e;b=b.replace(bs,"-$1").toLowerCase(),(d=a.ownerDocument.defaultView)&&(e=d.getComputedStyle(a,null))&&(c=e.getPropertyValue(b),c===""&&!f.contains(a.ownerDocument.documentElement,a)&&(c=f.style(a,b)));return c}),c.documentElement.currentStyle&&(bB=function(a,b){var c,d,e,f=a.currentStyle&&a.currentStyle[b],g=a.style;f===null&&g&&(e=g[b])&&(f=e),!bt.test(f)&&bu.test(f)&&(c=g.left,d=a.runtimeStyle&&a.runtimeStyle.left,d&&(a.runtimeStyle.left=a.currentStyle.left),g.left=b==="fontSize"?"1em":f||0,f=g.pixelLeft+"px",g.left=c,d&&(a.runtimeStyle.left=d));return f===""?"auto":f}),bz=bA||bB,f.expr&&f.expr.filters&&(f.expr.filters.hidden=function(a){var b=a.offsetWidth,c=a.offsetHeight;return b===0&&c===0||!f.support.reliableHiddenOffsets&&(a.style&&a.style.display||f.css(a,"display"))==="none"},f.expr.filters.visible=function(a){return!f.expr.filters.hidden(a)});var bD=/%20/g,bE=/\[\]$/,bF=/\r?\n/g,bG=/#.*$/,bH=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,bI=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,bJ=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,bK=/^(?:GET|HEAD)$/,bL=/^\/\//,bM=/\?/,bN=/)<[^<]*)*<\/script>/gi,bO=/^(?:select|textarea)/i,bP=/\s+/,bQ=/([?&])_=[^&]*/,bR=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,bS=f.fn.load,bT={},bU={},bV,bW,bX=["*/"]+["*"];try{bV=e.href}catch(bY){bV=c.createElement("a"),bV.href="",bV=bV.href}bW=bR.exec(bV.toLowerCase())||[],f.fn.extend({load:function(a,c,d){if(typeof a!="string"&&bS)return bS.apply(this,arguments);if(!this.length)return this;var e=a.indexOf(" ");if(e>=0){var g=a.slice(e,a.length);a=a.slice(0,e)}var h="GET";c&&(f.isFunction(c)?(d=c,c=b):typeof c=="object"&&(c=f.param(c,f.ajaxSettings.traditional),h="POST"));var i=this;f.ajax({url:a,type:h,dataType:"html",data:c,complete:function(a,b,c){c=a.responseText,a.isResolved()&&(a.done(function(a){c=a}),i.html(g?f("
").append(c.replace(bN,"")).find(g):c)),d&&i.each(d,[c,b,a])}});return this},serialize:function(){return f.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?f.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||bO.test(this.nodeName)||bI.test(this.type))}).map(function(a,b){var c=f(this).val();return c==null?null:f.isArray(c)?f.map(c,function(a,c){return{name:b.name,value:a.replace(bF,"\r\n")}}):{name:b.name,value:c.replace(bF,"\r\n")}}).get()}}),f.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(a,b){f.fn[b]=function(a){return this.on(b,a)}}),f.each(["get","post"],function(a,c){f[c]=function(a,d,e,g){f.isFunction(d)&&(g=g||e,e=d,d=b);return f.ajax({type:c,url:a,data:d,success:e,dataType:g})}}),f.extend({getScript:function(a,c){return f.get(a,b,c,"script")},getJSON:function(a,b,c){return f.get(a,b,c,"json")},ajaxSetup:function(a,b){b?b_(a,f.ajaxSettings):(b=a,a=f.ajaxSettings),b_(a,b);return a},ajaxSettings:{url:bV,isLocal:bJ.test(bW[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":bX},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":a.String,"text html":!0,"text json":f.parseJSON,"text xml":f.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:bZ(bT),ajaxTransport:bZ(bU),ajax:function(a,c){function w(a,c,l,m){if(s!==2){s=2,q&&clearTimeout(q),p=b,n=m||"",v.readyState=a>0?4:0;var o,r,u,w=c,x=l?cb(d,v,l):b,y,z;if(a>=200&&a<300||a===304){if(d.ifModified){if(y=v.getResponseHeader("Last-Modified"))f.lastModified[k]=y;if(z=v.getResponseHeader("Etag"))f.etag[k]=z}if(a===304)w="notmodified",o=!0;else try{r=cc(d,x),w="success",o=!0}catch(A){w="parsererror",u=A}}else{u=w;if(!w||a)w="error",a<0&&(a=0)}v.status=a,v.statusText=""+(c||w),o?h.resolveWith(e,[r,w,v]):h.rejectWith(e,[v,w,u]),v.statusCode(j),j=b,t&&g.trigger("ajax"+(o?"Success":"Error"),[v,d,o?r:u]),i.fireWith(e,[v,w]),t&&(g.trigger("ajaxComplete",[v,d]),--f.active||f.event.trigger("ajaxStop"))}}typeof a=="object"&&(c=a,a=b),c=c||{};var d=f.ajaxSetup({},c),e=d.context||d,g=e!==d&&(e.nodeType||e instanceof f)?f(e):f.event,h=f.Deferred(),i=f.Callbacks("once memory"),j=d.statusCode||{},k,l={},m={},n,o,p,q,r,s=0,t,u,v={readyState:0,setRequestHeader:function(a,b){if(!s){var c=a.toLowerCase();a=m[c]=m[c]||a,l[a]=b}return this},getAllResponseHeaders:function(){return s===2?n:null},getResponseHeader:function(a){var c;if(s===2){if(!o){o={};while(c=bH.exec(n))o[c[1].toLowerCase()]=c[2]}c=o[a.toLowerCase()]}return c===b?null:c},overrideMimeType:function(a){s||(d.mimeType=a);return this},abort:function(a){a=a||"abort",p&&p.abort(a),w(0,a);return this}};h.promise(v),v.success=v.done,v.error=v.fail,v.complete=i.add,v.statusCode=function(a){if(a){var b;if(s<2)for(b in a)j[b]=[j[b],a[b]];else b=a[v.status],v.then(b,b)}return this},d.url=((a||d.url)+"").replace(bG,"").replace(bL,bW[1]+"//"),d.dataTypes=f.trim(d.dataType||"*").toLowerCase().split(bP),d.crossDomain==null&&(r=bR.exec(d.url.toLowerCase()),d.crossDomain=!(!r||r[1]==bW[1]&&r[2]==bW[2]&&(r[3]||(r[1]==="http:"?80:443))==(bW[3]||(bW[1]==="http:"?80:443)))),d.data&&d.processData&&typeof d.data!="string"&&(d.data=f.param(d.data,d.traditional)),b$(bT,d,c,v);if(s===2)return!1;t=d.global,d.type=d.type.toUpperCase(),d.hasContent=!bK.test(d.type),t&&f.active++===0&&f.event.trigger("ajaxStart");if(!d.hasContent){d.data&&(d.url+=(bM.test(d.url)?"&":"?")+d.data,delete d.data),k=d.url;if(d.cache===!1){var x=f.now(),y=d.url.replace(bQ,"$1_="+x);d.url=y+(y===d.url?(bM.test(d.url)?"&":"?")+"_="+x:"")}}(d.data&&d.hasContent&&d.contentType!==!1||c.contentType)&&v.setRequestHeader("Content-Type",d.contentType),d.ifModified&&(k=k||d.url,f.lastModified[k]&&v.setRequestHeader("If-Modified-Since",f.lastModified[k]),f.etag[k]&&v.setRequestHeader("If-None-Match",f.etag[k])),v.setRequestHeader("Accept",d.dataTypes[0]&&d.accepts[d.dataTypes[0]]?d.accepts[d.dataTypes[0]]+(d.dataTypes[0]!=="*"?", "+bX+"; q=0.01":""):d.accepts["*"]);for(u in d.headers)v.setRequestHeader(u,d.headers[u]);if(d.beforeSend&&(d.beforeSend.call(e,v,d)===!1||s===2)){v.abort();return!1}for(u in{success:1,error:1,complete:1})v[u](d[u]);p=b$(bU,d,c,v);if(!p)w(-1,"No Transport");else{v.readyState=1,t&&g.trigger("ajaxSend",[v,d]),d.async&&d.timeout>0&&(q=setTimeout(function(){v.abort("timeout")},d.timeout));try{s=1,p.send(l,w)}catch(z){if(s<2)w(-1,z);else throw z}}return v},param:function(a,c){var d=[],e=function(a,b){b=f.isFunction(b)?b():b,d[d.length]=encodeURIComponent(a)+"="+encodeURIComponent(b)};c===b&&(c=f.ajaxSettings.traditional);if(f.isArray(a)||a.jquery&&!f.isPlainObject(a))f.each(a,function(){e(this.name,this.value)});else for(var g in a)ca(g,a[g],c,e);return d.join("&").replace(bD,"+")}}),f.extend({active:0,lastModified:{},etag:{}});var cd=f.now(),ce=/(\=)\?(&|$)|\?\?/i;f.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return f.expando+"_"+cd++}}),f.ajaxPrefilter("json jsonp",function(b,c,d){var e=b.contentType==="application/x-www-form-urlencoded"&&typeof b.data=="string";if(b.dataTypes[0]==="jsonp"||b.jsonp!==!1&&(ce.test(b.url)||e&&ce.test(b.data))){var g,h=b.jsonpCallback=f.isFunction(b.jsonpCallback)?b.jsonpCallback():b.jsonpCallback,i=a[h],j=b.url,k=b.data,l="$1"+h+"$2";b.jsonp!==!1&&(j=j.replace(ce,l),b.url===j&&(e&&(k=k.replace(ce,l)),b.data===k&&(j+=(/\?/.test(j)?"&":"?")+b.jsonp+"="+h))),b.url=j,b.data=k,a[h]=function(a){g=[a]},d.always(function(){a[h]=i,g&&f.isFunction(i)&&a[h](g[0])}),b.converters["script json"]=function(){g||f.error(h+" was not called");return g[0]},b.dataTypes[0]="json";return"script"}}),f.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(a){f.globalEval(a);return a}}}),f.ajaxPrefilter("script",function(a){a.cache===b&&(a.cache=!1),a.crossDomain&&(a.type="GET",a.global=!1)}),f.ajaxTransport("script",function(a){if(a.crossDomain){var d,e=c.head||c.getElementsByTagName("head")[0]||c.documentElement;return{send:function(f,g){d=c.createElement("script"),d.async="async",a.scriptCharset&&(d.charset=a.scriptCharset),d.src=a.url,d.onload=d.onreadystatechange=function(a,c){if(c||!d.readyState||/loaded|complete/.test(d.readyState))d.onload=d.onreadystatechange=null,e&&d.parentNode&&e.removeChild(d),d=b,c||g(200,"success")},e.insertBefore(d,e.firstChild)},abort:function(){d&&d.onload(0,1)}}}});var cf=a.ActiveXObject?function(){for(var a in ch)ch[a](0,1)}:!1,cg=0,ch;f.ajaxSettings.xhr=a.ActiveXObject?function(){return!this.isLocal&&ci()||cj()}:ci,function(a){f.extend(f.support,{ajax:!!a,cors:!!a&&"withCredentials"in a})}(f.ajaxSettings.xhr()),f.support.ajax&&f.ajaxTransport(function(c){if(!c.crossDomain||f.support.cors){var d;return{send:function(e,g){var h=c.xhr(),i,j;c.username?h.open(c.type,c.url,c.async,c.username,c.password):h.open(c.type,c.url,c.async);if(c.xhrFields)for(j in c.xhrFields)h[j]=c.xhrFields[j];c.mimeType&&h.overrideMimeType&&h.overrideMimeType(c.mimeType),!c.crossDomain&&!e["X-Requested-With"]&&(e["X-Requested-With"]="XMLHttpRequest");try{for(j in e)h.setRequestHeader(j,e[j])}catch(k){}h.send(c.hasContent&&c.data||null),d=function(a,e){var j,k,l,m,n;try{if(d&&(e||h.readyState===4)){d=b,i&&(h.onreadystatechange=f.noop,cf&&delete ch[i]);if(e)h.readyState!==4&&h.abort();else{j=h.status,l=h.getAllResponseHeaders(),m={},n=h.responseXML,n&&n.documentElement&&(m.xml=n),m.text=h.responseText;try{k=h.statusText}catch(o){k=""}!j&&c.isLocal&&!c.crossDomain?j=m.text?200:404:j===1223&&(j=204)}}}catch(p){e||g(-1,p)}m&&g(j,k,m,l)},!c.async||h.readyState===4?d():(i=++cg,cf&&(ch||(ch={},f(a).unload(cf)),ch[i]=d),h.onreadystatechange=d)},abort:function(){d&&d(0,1)}}}});var ck={},cl,cm,cn=/^(?:toggle|show|hide)$/,co=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,cp,cq=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],cr;f.fn.extend({show:function(a,b,c){var d,e;if(a||a===0)return this.animate(cu("show",3),a,b,c);for(var g=0,h=this.length;g=i.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),i.animatedProperties[this.prop]=!0;for(b in i.animatedProperties)i.animatedProperties[b]!==!0&&(g=!1);if(g){i.overflow!=null&&!f.support.shrinkWrapBlocks&&f.each(["","X","Y"],function(a,b){h.style["overflow"+b]=i.overflow[a]}),i.hide&&f(h).hide();if(i.hide||i.show)for(b in i.animatedProperties)f.style(h,b,i.orig[b]),f.removeData(h,"fxshow"+b,!0),f.removeData(h,"toggle"+b,!0);d=i.complete,d&&(i.complete=!1,d.call(h))}return!1}i.duration==Infinity?this.now=e:(c=e-this.startTime,this.state=c/i.duration,this.pos=f.easing[i.animatedProperties[this.prop]](this.state,c,0,1,i.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update();return!0}},f.extend(f.fx,{tick:function(){var a,b=f.timers,c=0;for(;c-1,k={},l={},m,n;j?(l=e.position(),m=l.top,n=l.left):(m=parseFloat(h)||0,n=parseFloat(i)||0),f.isFunction(b)&&(b=b.call(a,c,g)),b.top!=null&&(k.top=b.top-g.top+m),b.left!=null&&(k.left=b.left-g.left+n),"using"in b?b.using.call(a,k):e.css(k)}},f.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),c=this.offset(),d=cx.test(b[0].nodeName)?{top:0,left:0}:b.offset();c.top-=parseFloat(f.css(a,"marginTop"))||0,c.left-=parseFloat(f.css(a,"marginLeft"))||0,d.top+=parseFloat(f.css(b[0],"borderTopWidth"))||0,d.left+=parseFloat(f.css(b[0],"borderLeftWidth"))||0;return{top:c.top-d.top,left:c.left-d.left}},offsetParent:function(){return this.map(function(){var a=this.offsetParent||c.body;while(a&&!cx.test(a.nodeName)&&f.css(a,"position")==="static")a=a.offsetParent;return a})}}),f.each(["Left","Top"],function(a,c){var d="scroll"+c;f.fn[d]=function(c){var e,g;if(c===b){e=this[0];if(!e)return null;g=cy(e);return g?"pageXOffset"in g?g[a?"pageYOffset":"pageXOffset"]:f.support.boxModel&&g.document.documentElement[d]||g.document.body[d]:e[d]}return this.each(function(){g=cy(this),g?g.scrollTo(a?f(g).scrollLeft():c,a?c:f(g).scrollTop()):this[d]=c})}}),f.each(["Height","Width"],function(a,c){var d=c.toLowerCase();f.fn["inner"+c]=function(){var a=this[0];return a?a.style?parseFloat(f.css(a,d,"padding")):this[d]():null},f.fn["outer"+c]=function(a){var b=this[0];return b?b.style?parseFloat(f.css(b,d,a?"margin":"border")):this[d]():null},f.fn[d]=function(a){var e=this[0];if(!e)return a==null?null:this;if(f.isFunction(a))return this.each(function(b){var c=f(this);c[d](a.call(this,b,c[d]()))});if(f.isWindow(e)){var g=e.document.documentElement["client"+c],h=e.document.body;return e.document.compatMode==="CSS1Compat"&&g||h&&h["client"+c]||g}if(e.nodeType===9)return Math.max(e.documentElement["client"+c],e.body["scroll"+c],e.documentElement["scroll"+c],e.body["offset"+c],e.documentElement["offset"+c]);if(a===b){var i=f.css(e,d),j=parseFloat(i);return f.isNumeric(j)?j:i}return this.css(d,typeof a=="string"?a:a+"px")}}),a.jQuery=a.$=f,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return f})})(window); \ No newline at end of file diff --git a/libcpychecker_html/extlib/reset-20110126.css b/libcpychecker_html/extlib/reset-20110126.css deleted file mode 100644 index af944401..00000000 --- a/libcpychecker_html/extlib/reset-20110126.css +++ /dev/null @@ -1,48 +0,0 @@ -/* http://meyerweb.com/eric/tools/css/reset/ - v2.0 | 20110126 - License: none (public domain) -*/ - -html, body, div, span, applet, object, iframe, -h1, h2, h3, h4, h5, h6, p, blockquote, pre, -a, abbr, acronym, address, big, cite, code, -del, dfn, em, img, ins, kbd, q, s, samp, -small, strike, strong, sub, sup, tt, var, -b, u, i, center, -dl, dt, dd, ol, ul, li, -fieldset, form, label, legend, -table, caption, tbody, tfoot, thead, tr, th, td, -article, aside, canvas, details, embed, -figure, figcaption, footer, header, hgroup, -menu, nav, output, ruby, section, summary, -time, mark, audio, video { - margin: 0; - padding: 0; - border: 0; - font-size: 100%; - font: inherit; - vertical-align: baseline; -} -/* HTML5 display-role reset for older browsers */ -article, aside, details, figcaption, figure, -footer, header, hgroup, menu, nav, section { - display: block; -} -body { - line-height: 1; -} -ol, ul { - list-style: none; -} -blockquote, q { - quotes: none; -} -blockquote:before, blockquote:after, -q:before, q:after { - content: ''; - content: none; -} -table { - border-collapse: collapse; - border-spacing: 0; -} \ No newline at end of file diff --git a/libcpychecker_html/extlib/reset-20110126.min.css b/libcpychecker_html/extlib/reset-20110126.min.css new file mode 100644 index 00000000..114a8567 --- /dev/null +++ b/libcpychecker_html/extlib/reset-20110126.min.css @@ -0,0 +1,5 @@ +/* http://meyerweb.com/eric/tools/css/reset/ + v2.0 | 20110126 + License: none (public domain) +*/ +a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video{margin:0;padding:0;border:0;font:inherit;vertical-align:baseline}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:after,blockquote:before,q:after,q:before{content:'';content:none}table{border-collapse:collapse;border-spacing:0} diff --git a/libcpychecker_html/extlib/zepto-1.1.3.min.js b/libcpychecker_html/extlib/zepto-1.1.3.min.js new file mode 100644 index 00000000..5c8a2008 --- /dev/null +++ b/libcpychecker_html/extlib/zepto-1.1.3.min.js @@ -0,0 +1,2 @@ +/* Zepto v1.1.3 - zepto event ajax form ie - zeptojs.com/license */ +var Zepto=function(){function L(t){return null==t?String(t):j[T.call(t)]||"object"}function Z(t){return"function"==L(t)}function $(t){return null!=t&&t==t.window}function _(t){return null!=t&&t.nodeType==t.DOCUMENT_NODE}function D(t){return"object"==L(t)}function R(t){return D(t)&&!$(t)&&Object.getPrototypeOf(t)==Object.prototype}function M(t){return"number"==typeof t.length}function k(t){return s.call(t,function(t){return null!=t})}function z(t){return t.length>0?n.fn.concat.apply([],t):t}function F(t){return t.replace(/::/g,"/").replace(/([A-Z]+)([A-Z][a-z])/g,"$1_$2").replace(/([a-z\d])([A-Z])/g,"$1_$2").replace(/_/g,"-").toLowerCase()}function q(t){return t in f?f[t]:f[t]=new RegExp("(^|\\s)"+t+"(\\s|$)")}function H(t,e){return"number"!=typeof e||c[F(t)]?e:e+"px"}function I(t){var e,n;return u[t]||(e=a.createElement(t),a.body.appendChild(e),n=getComputedStyle(e,"").getPropertyValue("display"),e.parentNode.removeChild(e),"none"==n&&(n="block"),u[t]=n),u[t]}function V(t){return"children"in t?o.call(t.children):n.map(t.childNodes,function(t){return 1==t.nodeType?t:void 0})}function U(n,i,r){for(e in i)r&&(R(i[e])||A(i[e]))?(R(i[e])&&!R(n[e])&&(n[e]={}),A(i[e])&&!A(n[e])&&(n[e]=[]),U(n[e],i[e],r)):i[e]!==t&&(n[e]=i[e])}function B(t,e){return null==e?n(t):n(t).filter(e)}function J(t,e,n,i){return Z(e)?e.call(t,n,i):e}function X(t,e,n){null==n?t.removeAttribute(e):t.setAttribute(e,n)}function W(e,n){var i=e.className,r=i&&i.baseVal!==t;return n===t?r?i.baseVal:i:void(r?i.baseVal=n:e.className=n)}function Y(t){var e;try{return t?"true"==t||("false"==t?!1:"null"==t?null:/^0/.test(t)||isNaN(e=Number(t))?/^[\[\{]/.test(t)?n.parseJSON(t):t:e):t}catch(i){return t}}function G(t,e){e(t);for(var n in t.childNodes)G(t.childNodes[n],e)}var t,e,n,i,C,N,r=[],o=r.slice,s=r.filter,a=window.document,u={},f={},c={"column-count":1,columns:1,"font-weight":1,"line-height":1,opacity:1,"z-index":1,zoom:1},l=/^\s*<(\w+|!)[^>]*>/,h=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,p=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,d=/^(?:body|html)$/i,m=/([A-Z])/g,g=["val","css","html","text","data","width","height","offset"],v=["after","prepend","before","append"],y=a.createElement("table"),x=a.createElement("tr"),b={tr:a.createElement("tbody"),tbody:y,thead:y,tfoot:y,td:x,th:x,"*":a.createElement("div")},w=/complete|loaded|interactive/,E=/^[\w-]*$/,j={},T=j.toString,S={},O=a.createElement("div"),P={tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},A=Array.isArray||function(t){return t instanceof Array};return S.matches=function(t,e){if(!e||!t||1!==t.nodeType)return!1;var n=t.webkitMatchesSelector||t.mozMatchesSelector||t.oMatchesSelector||t.matchesSelector;if(n)return n.call(t,e);var i,r=t.parentNode,o=!r;return o&&(r=O).appendChild(t),i=~S.qsa(r,e).indexOf(t),o&&O.removeChild(t),i},C=function(t){return t.replace(/-+(.)?/g,function(t,e){return e?e.toUpperCase():""})},N=function(t){return s.call(t,function(e,n){return t.indexOf(e)==n})},S.fragment=function(e,i,r){var s,u,f;return h.test(e)&&(s=n(a.createElement(RegExp.$1))),s||(e.replace&&(e=e.replace(p,"<$1>")),i===t&&(i=l.test(e)&&RegExp.$1),i in b||(i="*"),f=b[i],f.innerHTML=""+e,s=n.each(o.call(f.childNodes),function(){f.removeChild(this)})),R(r)&&(u=n(s),n.each(r,function(t,e){g.indexOf(t)>-1?u[t](e):u.attr(t,e)})),s},S.Z=function(t,e){return t=t||[],t.__proto__=n.fn,t.selector=e||"",t},S.isZ=function(t){return t instanceof S.Z},S.init=function(e,i){var r;if(!e)return S.Z();if("string"==typeof e)if(e=e.trim(),"<"==e[0]&&l.test(e))r=S.fragment(e,RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}else{if(Z(e))return n(a).ready(e);if(S.isZ(e))return e;if(A(e))r=k(e);else if(D(e))r=[e],e=null;else if(l.test(e))r=S.fragment(e.trim(),RegExp.$1,i),e=null;else{if(i!==t)return n(i).find(e);r=S.qsa(a,e)}}return S.Z(r,e)},n=function(t,e){return S.init(t,e)},n.extend=function(t){var e,n=o.call(arguments,1);return"boolean"==typeof t&&(e=t,t=n.shift()),n.forEach(function(n){U(t,n,e)}),t},S.qsa=function(t,e){var n,i="#"==e[0],r=!i&&"."==e[0],s=i||r?e.slice(1):e,a=E.test(s);return _(t)&&a&&i?(n=t.getElementById(s))?[n]:[]:1!==t.nodeType&&9!==t.nodeType?[]:o.call(a&&!i?r?t.getElementsByClassName(s):t.getElementsByTagName(e):t.querySelectorAll(e))},n.contains=function(t,e){return t!==e&&t.contains(e)},n.type=L,n.isFunction=Z,n.isWindow=$,n.isArray=A,n.isPlainObject=R,n.isEmptyObject=function(t){var e;for(e in t)return!1;return!0},n.inArray=function(t,e,n){return r.indexOf.call(e,t,n)},n.camelCase=C,n.trim=function(t){return null==t?"":String.prototype.trim.call(t)},n.uuid=0,n.support={},n.expr={},n.map=function(t,e){var n,r,o,i=[];if(M(t))for(r=0;r=0?e:e+this.length]},toArray:function(){return this.get()},size:function(){return this.length},remove:function(){return this.each(function(){null!=this.parentNode&&this.parentNode.removeChild(this)})},each:function(t){return r.every.call(this,function(e,n){return t.call(e,n,e)!==!1}),this},filter:function(t){return Z(t)?this.not(this.not(t)):n(s.call(this,function(e){return S.matches(e,t)}))},add:function(t,e){return n(N(this.concat(n(t,e))))},is:function(t){return this.length>0&&S.matches(this[0],t)},not:function(e){var i=[];if(Z(e)&&e.call!==t)this.each(function(t){e.call(this,t)||i.push(this)});else{var r="string"==typeof e?this.filter(e):M(e)&&Z(e.item)?o.call(e):n(e);this.forEach(function(t){r.indexOf(t)<0&&i.push(t)})}return n(i)},has:function(t){return this.filter(function(){return D(t)?n.contains(this,t):n(this).find(t).size()})},eq:function(t){return-1===t?this.slice(t):this.slice(t,+t+1)},first:function(){var t=this[0];return t&&!D(t)?t:n(t)},last:function(){var t=this[this.length-1];return t&&!D(t)?t:n(t)},find:function(t){var e,i=this;return e="object"==typeof t?n(t).filter(function(){var t=this;return r.some.call(i,function(e){return n.contains(e,t)})}):1==this.length?n(S.qsa(this[0],t)):this.map(function(){return S.qsa(this,t)})},closest:function(t,e){var i=this[0],r=!1;for("object"==typeof t&&(r=n(t));i&&!(r?r.indexOf(i)>=0:S.matches(i,t));)i=i!==e&&!_(i)&&i.parentNode;return n(i)},parents:function(t){for(var e=[],i=this;i.length>0;)i=n.map(i,function(t){return(t=t.parentNode)&&!_(t)&&e.indexOf(t)<0?(e.push(t),t):void 0});return B(e,t)},parent:function(t){return B(N(this.pluck("parentNode")),t)},children:function(t){return B(this.map(function(){return V(this)}),t)},contents:function(){return this.map(function(){return o.call(this.childNodes)})},siblings:function(t){return B(this.map(function(t,e){return s.call(V(e.parentNode),function(t){return t!==e})}),t)},empty:function(){return this.each(function(){this.innerHTML=""})},pluck:function(t){return n.map(this,function(e){return e[t]})},show:function(){return this.each(function(){"none"==this.style.display&&(this.style.display=""),"none"==getComputedStyle(this,"").getPropertyValue("display")&&(this.style.display=I(this.nodeName))})},replaceWith:function(t){return this.before(t).remove()},wrap:function(t){var e=Z(t);if(this[0]&&!e)var i=n(t).get(0),r=i.parentNode||this.length>1;return this.each(function(o){n(this).wrapAll(e?t.call(this,o):r?i.cloneNode(!0):i)})},wrapAll:function(t){if(this[0]){n(this[0]).before(t=n(t));for(var e;(e=t.children()).length;)t=e.first();n(t).append(this)}return this},wrapInner:function(t){var e=Z(t);return this.each(function(i){var r=n(this),o=r.contents(),s=e?t.call(this,i):t;o.length?o.wrapAll(s):r.append(s)})},unwrap:function(){return this.parent().each(function(){n(this).replaceWith(n(this).children())}),this},clone:function(){return this.map(function(){return this.cloneNode(!0)})},hide:function(){return this.css("display","none")},toggle:function(e){return this.each(function(){var i=n(this);(e===t?"none"==i.css("display"):e)?i.show():i.hide()})},prev:function(t){return n(this.pluck("previousElementSibling")).filter(t||"*")},next:function(t){return n(this.pluck("nextElementSibling")).filter(t||"*")},html:function(t){return 0===arguments.length?this.length>0?this[0].innerHTML:null:this.each(function(e){var i=this.innerHTML;n(this).empty().append(J(this,t,e,i))})},text:function(e){return 0===arguments.length?this.length>0?this[0].textContent:null:this.each(function(){this.textContent=e===t?"":""+e})},attr:function(n,i){var r;return"string"==typeof n&&i===t?0==this.length||1!==this[0].nodeType?t:"value"==n&&"INPUT"==this[0].nodeName?this.val():!(r=this[0].getAttribute(n))&&n in this[0]?this[0][n]:r:this.each(function(t){if(1===this.nodeType)if(D(n))for(e in n)X(this,e,n[e]);else X(this,n,J(this,i,t,this.getAttribute(n)))})},removeAttr:function(t){return this.each(function(){1===this.nodeType&&X(this,t)})},prop:function(e,n){return e=P[e]||e,n===t?this[0]&&this[0][e]:this.each(function(t){this[e]=J(this,n,t,this[e])})},data:function(e,n){var i=this.attr("data-"+e.replace(m,"-$1").toLowerCase(),n);return null!==i?Y(i):t},val:function(t){return 0===arguments.length?this[0]&&(this[0].multiple?n(this[0]).find("option").filter(function(){return this.selected}).pluck("value"):this[0].value):this.each(function(e){this.value=J(this,t,e,this.value)})},offset:function(t){if(t)return this.each(function(e){var i=n(this),r=J(this,t,e,i.offset()),o=i.offsetParent().offset(),s={top:r.top-o.top,left:r.left-o.left};"static"==i.css("position")&&(s.position="relative"),i.css(s)});if(0==this.length)return null;var e=this[0].getBoundingClientRect();return{left:e.left+window.pageXOffset,top:e.top+window.pageYOffset,width:Math.round(e.width),height:Math.round(e.height)}},css:function(t,i){if(arguments.length<2){var r=this[0],o=getComputedStyle(r,"");if(!r)return;if("string"==typeof t)return r.style[C(t)]||o.getPropertyValue(t);if(A(t)){var s={};return n.each(A(t)?t:[t],function(t,e){s[e]=r.style[C(e)]||o.getPropertyValue(e)}),s}}var a="";if("string"==L(t))i||0===i?a=F(t)+":"+H(t,i):this.each(function(){this.style.removeProperty(F(t))});else for(e in t)t[e]||0===t[e]?a+=F(e)+":"+H(e,t[e])+";":this.each(function(){this.style.removeProperty(F(e))});return this.each(function(){this.style.cssText+=";"+a})},index:function(t){return t?this.indexOf(n(t)[0]):this.parent().children().indexOf(this[0])},hasClass:function(t){return t?r.some.call(this,function(t){return this.test(W(t))},q(t)):!1},addClass:function(t){return t?this.each(function(e){i=[];var r=W(this),o=J(this,t,e,r);o.split(/\s+/g).forEach(function(t){n(this).hasClass(t)||i.push(t)},this),i.length&&W(this,r+(r?" ":"")+i.join(" "))}):this},removeClass:function(e){return this.each(function(n){return e===t?W(this,""):(i=W(this),J(this,e,n,i).split(/\s+/g).forEach(function(t){i=i.replace(q(t)," ")}),void W(this,i.trim()))})},toggleClass:function(e,i){return e?this.each(function(r){var o=n(this),s=J(this,e,r,W(this));s.split(/\s+/g).forEach(function(e){(i===t?!o.hasClass(e):i)?o.addClass(e):o.removeClass(e)})}):this},scrollTop:function(e){if(this.length){var n="scrollTop"in this[0];return e===t?n?this[0].scrollTop:this[0].pageYOffset:this.each(n?function(){this.scrollTop=e}:function(){this.scrollTo(this.scrollX,e)})}},scrollLeft:function(e){if(this.length){var n="scrollLeft"in this[0];return e===t?n?this[0].scrollLeft:this[0].pageXOffset:this.each(n?function(){this.scrollLeft=e}:function(){this.scrollTo(e,this.scrollY)})}},position:function(){if(this.length){var t=this[0],e=this.offsetParent(),i=this.offset(),r=d.test(e[0].nodeName)?{top:0,left:0}:e.offset();return i.top-=parseFloat(n(t).css("margin-top"))||0,i.left-=parseFloat(n(t).css("margin-left"))||0,r.top+=parseFloat(n(e[0]).css("border-top-width"))||0,r.left+=parseFloat(n(e[0]).css("border-left-width"))||0,{top:i.top-r.top,left:i.left-r.left}}},offsetParent:function(){return this.map(function(){for(var t=this.offsetParent||a.body;t&&!d.test(t.nodeName)&&"static"==n(t).css("position");)t=t.offsetParent;return t})}},n.fn.detach=n.fn.remove,["width","height"].forEach(function(e){var i=e.replace(/./,function(t){return t[0].toUpperCase()});n.fn[e]=function(r){var o,s=this[0];return r===t?$(s)?s["inner"+i]:_(s)?s.documentElement["scroll"+i]:(o=this.offset())&&o[e]:this.each(function(t){s=n(this),s.css(e,J(this,r,t,s[e]()))})}}),v.forEach(function(t,e){var i=e%2;n.fn[t]=function(){var t,o,r=n.map(arguments,function(e){return t=L(e),"object"==t||"array"==t||null==e?e:S.fragment(e)}),s=this.length>1;return r.length<1?this:this.each(function(t,a){o=i?a:a.parentNode,a=0==e?a.nextSibling:1==e?a.firstChild:2==e?a:null,r.forEach(function(t){if(s)t=t.cloneNode(!0);else if(!o)return n(t).remove();G(o.insertBefore(t,a),function(t){null==t.nodeName||"SCRIPT"!==t.nodeName.toUpperCase()||t.type&&"text/javascript"!==t.type||t.src||window.eval.call(window,t.innerHTML)})})})},n.fn[i?t+"To":"insert"+(e?"Before":"After")]=function(e){return n(e)[t](this),this}}),S.Z.prototype=n.fn,S.uniq=N,S.deserializeValue=Y,n.zepto=S,n}();window.Zepto=Zepto,void 0===window.$&&(window.$=Zepto),function(t){function l(t){return t._zid||(t._zid=e++)}function h(t,e,n,i){if(e=p(e),e.ns)var r=d(e.ns);return(s[l(t)]||[]).filter(function(t){return!(!t||e.e&&t.e!=e.e||e.ns&&!r.test(t.ns)||n&&l(t.fn)!==l(n)||i&&t.sel!=i)})}function p(t){var e=(""+t).split(".");return{e:e[0],ns:e.slice(1).sort().join(" ")}}function d(t){return new RegExp("(?:^| )"+t.replace(" "," .* ?")+"(?: |$)")}function m(t,e){return t.del&&!u&&t.e in f||!!e}function g(t){return c[t]||u&&f[t]||t}function v(e,i,r,o,a,u,f){var h=l(e),d=s[h]||(s[h]=[]);i.split(/\s/).forEach(function(i){if("ready"==i)return t(document).ready(r);var s=p(i);s.fn=r,s.sel=a,s.e in c&&(r=function(e){var n=e.relatedTarget;return!n||n!==this&&!t.contains(this,n)?s.fn.apply(this,arguments):void 0}),s.del=u;var l=u||r;s.proxy=function(t){if(t=j(t),!t.isImmediatePropagationStopped()){t.data=o;var i=l.apply(e,t._args==n?[t]:[t].concat(t._args));return i===!1&&(t.preventDefault(),t.stopPropagation()),i}},s.i=d.length,d.push(s),"addEventListener"in e&&e.addEventListener(g(s.e),s.proxy,m(s,f))})}function y(t,e,n,i,r){var o=l(t);(e||"").split(/\s/).forEach(function(e){h(t,e,n,i).forEach(function(e){delete s[o][e.i],"removeEventListener"in t&&t.removeEventListener(g(e.e),e.proxy,m(e,r))})})}function j(e,i){return(i||!e.isDefaultPrevented)&&(i||(i=e),t.each(E,function(t,n){var r=i[t];e[t]=function(){return this[n]=x,r&&r.apply(i,arguments)},e[n]=b}),(i.defaultPrevented!==n?i.defaultPrevented:"returnValue"in i?i.returnValue===!1:i.getPreventDefault&&i.getPreventDefault())&&(e.isDefaultPrevented=x)),e}function T(t){var e,i={originalEvent:t};for(e in t)w.test(e)||t[e]===n||(i[e]=t[e]);return j(i,t)}var n,e=1,i=Array.prototype.slice,r=t.isFunction,o=function(t){return"string"==typeof t},s={},a={},u="onfocusin"in window,f={focus:"focusin",blur:"focusout"},c={mouseenter:"mouseover",mouseleave:"mouseout"};a.click=a.mousedown=a.mouseup=a.mousemove="MouseEvents",t.event={add:v,remove:y},t.proxy=function(e,n){if(r(e)){var i=function(){return e.apply(n,arguments)};return i._zid=l(e),i}if(o(n))return t.proxy(e[n],e);throw new TypeError("expected function")},t.fn.bind=function(t,e,n){return this.on(t,e,n)},t.fn.unbind=function(t,e){return this.off(t,e)},t.fn.one=function(t,e,n,i){return this.on(t,e,n,i,1)};var x=function(){return!0},b=function(){return!1},w=/^([A-Z]|returnValue$|layer[XY]$)/,E={preventDefault:"isDefaultPrevented",stopImmediatePropagation:"isImmediatePropagationStopped",stopPropagation:"isPropagationStopped"};t.fn.delegate=function(t,e,n){return this.on(e,t,n)},t.fn.undelegate=function(t,e,n){return this.off(e,t,n)},t.fn.live=function(e,n){return t(document.body).delegate(this.selector,e,n),this},t.fn.die=function(e,n){return t(document.body).undelegate(this.selector,e,n),this},t.fn.on=function(e,s,a,u,f){var c,l,h=this;return e&&!o(e)?(t.each(e,function(t,e){h.on(t,s,a,e,f)}),h):(o(s)||r(u)||u===!1||(u=a,a=s,s=n),(r(a)||a===!1)&&(u=a,a=n),u===!1&&(u=b),h.each(function(n,r){f&&(c=function(t){return y(r,t.type,u),u.apply(this,arguments)}),s&&(l=function(e){var n,o=t(e.target).closest(s,r).get(0);return o&&o!==r?(n=t.extend(T(e),{currentTarget:o,liveFired:r}),(c||u).apply(o,[n].concat(i.call(arguments,1)))):void 0}),v(r,e,u,a,s,l||c)}))},t.fn.off=function(e,i,s){var a=this;return e&&!o(e)?(t.each(e,function(t,e){a.off(t,i,e)}),a):(o(i)||r(s)||s===!1||(s=i,i=n),s===!1&&(s=b),a.each(function(){y(this,e,s,i)}))},t.fn.trigger=function(e,n){return e=o(e)||t.isPlainObject(e)?t.Event(e):j(e),e._args=n,this.each(function(){"dispatchEvent"in this?this.dispatchEvent(e):t(this).triggerHandler(e,n)})},t.fn.triggerHandler=function(e,n){var i,r;return this.each(function(s,a){i=T(o(e)?t.Event(e):e),i._args=n,i.target=a,t.each(h(a,e.type||e),function(t,e){return r=e.proxy(i),i.isImmediatePropagationStopped()?!1:void 0})}),r},"focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select keydown keypress keyup error".split(" ").forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.trigger(e)}}),["focus","blur"].forEach(function(e){t.fn[e]=function(t){return t?this.bind(e,t):this.each(function(){try{this[e]()}catch(t){}}),this}}),t.Event=function(t,e){o(t)||(e=t,t=e.type);var n=document.createEvent(a[t]||"Events"),i=!0;if(e)for(var r in e)"bubbles"==r?i=!!e[r]:n[r]=e[r];return n.initEvent(t,i,!0),j(n)}}(Zepto),function(t){function l(e,n,i){var r=t.Event(n);return t(e).trigger(r,i),!r.isDefaultPrevented()}function h(t,e,i,r){return t.global?l(e||n,i,r):void 0}function p(e){e.global&&0===t.active++&&h(e,null,"ajaxStart")}function d(e){e.global&&!--t.active&&h(e,null,"ajaxStop")}function m(t,e){var n=e.context;return e.beforeSend.call(n,t,e)===!1||h(e,n,"ajaxBeforeSend",[t,e])===!1?!1:void h(e,n,"ajaxSend",[t,e])}function g(t,e,n,i){var r=n.context,o="success";n.success.call(r,t,o,e),i&&i.resolveWith(r,[t,o,e]),h(n,r,"ajaxSuccess",[e,n,t]),y(o,e,n)}function v(t,e,n,i,r){var o=i.context;i.error.call(o,n,e,t),r&&r.rejectWith(o,[n,e,t]),h(i,o,"ajaxError",[n,i,t||e]),y(e,n,i)}function y(t,e,n){var i=n.context;n.complete.call(i,e,t),h(n,i,"ajaxComplete",[e,n]),d(n)}function x(){}function b(t){return t&&(t=t.split(";",2)[0]),t&&(t==f?"html":t==u?"json":s.test(t)?"script":a.test(t)&&"xml")||"text"}function w(t,e){return""==e?t:(t+"&"+e).replace(/[&?]{1,2}/,"?")}function E(e){e.processData&&e.data&&"string"!=t.type(e.data)&&(e.data=t.param(e.data,e.traditional)),!e.data||e.type&&"GET"!=e.type.toUpperCase()||(e.url=w(e.url,e.data),e.data=void 0)}function j(e,n,i,r){return t.isFunction(n)&&(r=i,i=n,n=void 0),t.isFunction(i)||(r=i,i=void 0),{url:e,data:n,success:i,dataType:r}}function S(e,n,i,r){var o,s=t.isArray(n),a=t.isPlainObject(n);t.each(n,function(n,u){o=t.type(u),r&&(n=i?r:r+"["+(a||"object"==o||"array"==o?n:"")+"]"),!r&&s?e.add(u.name,u.value):"array"==o||!i&&"object"==o?S(e,u,i,n):e.add(n,u)})}var i,r,e=0,n=window.document,o=/)<[^<]*)*<\/script>/gi,s=/^(?:text|application)\/javascript/i,a=/^(?:text|application)\/xml/i,u="application/json",f="text/html",c=/^\s*$/;t.active=0,t.ajaxJSONP=function(i,r){if(!("type"in i))return t.ajax(i);var f,h,o=i.jsonpCallback,s=(t.isFunction(o)?o():o)||"jsonp"+ ++e,a=n.createElement("script"),u=window[s],c=function(e){t(a).triggerHandler("error",e||"abort")},l={abort:c};return r&&r.promise(l),t(a).on("load error",function(e,n){clearTimeout(h),t(a).off().remove(),"error"!=e.type&&f?g(f[0],l,i,r):v(null,n||"error",l,i,r),window[s]=u,f&&t.isFunction(u)&&u(f[0]),u=f=void 0}),m(l,i)===!1?(c("abort"),l):(window[s]=function(){f=arguments},a.src=i.url.replace(/\?(.+)=\?/,"?$1="+s),n.head.appendChild(a),i.timeout>0&&(h=setTimeout(function(){c("timeout")},i.timeout)),l)},t.ajaxSettings={type:"GET",beforeSend:x,success:x,error:x,complete:x,context:null,global:!0,xhr:function(){return new window.XMLHttpRequest},accepts:{script:"text/javascript, application/javascript, application/x-javascript",json:u,xml:"application/xml, text/xml",html:f,text:"text/plain"},crossDomain:!1,timeout:0,processData:!0,cache:!0},t.ajax=function(e){var n=t.extend({},e||{}),o=t.Deferred&&t.Deferred();for(i in t.ajaxSettings)void 0===n[i]&&(n[i]=t.ajaxSettings[i]);p(n),n.crossDomain||(n.crossDomain=/^([\w-]+:)?\/\/([^\/]+)/.test(n.url)&&RegExp.$2!=window.location.host),n.url||(n.url=window.location.toString()),E(n),n.cache===!1&&(n.url=w(n.url,"_="+Date.now()));var s=n.dataType,a=/\?.+=\?/.test(n.url);if("jsonp"==s||a)return a||(n.url=w(n.url,n.jsonp?n.jsonp+"=?":n.jsonp===!1?"":"callback=?")),t.ajaxJSONP(n,o);var j,u=n.accepts[s],f={},l=function(t,e){f[t.toLowerCase()]=[t,e]},h=/^([\w-]+:)\/\//.test(n.url)?RegExp.$1:window.location.protocol,d=n.xhr(),y=d.setRequestHeader;if(o&&o.promise(d),n.crossDomain||l("X-Requested-With","XMLHttpRequest"),l("Accept",u||"*/*"),(u=n.mimeType||u)&&(u.indexOf(",")>-1&&(u=u.split(",",2)[0]),d.overrideMimeType&&d.overrideMimeType(u)),(n.contentType||n.contentType!==!1&&n.data&&"GET"!=n.type.toUpperCase())&&l("Content-Type",n.contentType||"application/x-www-form-urlencoded"),n.headers)for(r in n.headers)l(r,n.headers[r]);if(d.setRequestHeader=l,d.onreadystatechange=function(){if(4==d.readyState){d.onreadystatechange=x,clearTimeout(j);var e,i=!1;if(d.status>=200&&d.status<300||304==d.status||0==d.status&&"file:"==h){s=s||b(n.mimeType||d.getResponseHeader("content-type")),e=d.responseText;try{"script"==s?(1,eval)(e):"xml"==s?e=d.responseXML:"json"==s&&(e=c.test(e)?null:t.parseJSON(e))}catch(r){i=r}i?v(i,"parsererror",d,n,o):g(e,d,n,o)}else v(d.statusText||null,d.status?"error":"abort",d,n,o)}},m(d,n)===!1)return d.abort(),v(null,"abort",d,n,o),d;if(n.xhrFields)for(r in n.xhrFields)d[r]=n.xhrFields[r];var T="async"in n?n.async:!0;d.open(n.type,n.url,T,n.username,n.password);for(r in f)y.apply(d,f[r]);return n.timeout>0&&(j=setTimeout(function(){d.onreadystatechange=x,d.abort(),v(null,"timeout",d,n,o)},n.timeout)),d.send(n.data?n.data:null),d},t.get=function(){return t.ajax(j.apply(null,arguments))},t.post=function(){var e=j.apply(null,arguments);return e.type="POST",t.ajax(e)},t.getJSON=function(){var e=j.apply(null,arguments);return e.dataType="json",t.ajax(e)},t.fn.load=function(e,n,i){if(!this.length)return this;var a,r=this,s=e.split(/\s/),u=j(e,n,i),f=u.success;return s.length>1&&(u.url=s[0],a=s[1]),u.success=function(e){r.html(a?t("
").html(e.replace(o,"")).find(a):e),f&&f.apply(r,arguments)},t.ajax(u),this};var T=encodeURIComponent;t.param=function(t,e){var n=[];return n.add=function(t,e){this.push(T(t)+"="+T(e))},S(n,t,e),n.join("&").replace(/%20/g,"+")}}(Zepto),function(t){t.fn.serializeArray=function(){var n,e=[];return t([].slice.call(this.get(0).elements)).each(function(){n=t(this);var i=n.attr("type");"fieldset"!=this.nodeName.toLowerCase()&&!this.disabled&&"submit"!=i&&"reset"!=i&&"button"!=i&&("radio"!=i&&"checkbox"!=i||this.checked)&&e.push({name:n.attr("name"),value:n.val()})}),e},t.fn.serialize=function(){var t=[];return this.serializeArray().forEach(function(e){t.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))}),t.join("&")},t.fn.submit=function(e){if(e)this.bind("submit",e);else if(this.length){var n=t.Event("submit");this.eq(0).trigger(n),n.isDefaultPrevented()||this.get(0).submit()}return this}}(Zepto),function(t){"__proto__"in{}||t.extend(t.zepto,{Z:function(e,n){return e=e||[],t.extend(e,t.fn),e.selector=n||"",e.__Z=!0,e},isZ:function(e){return"array"===t.type(e)&&"__Z"in e}});try{getComputedStyle(void 0)}catch(e){var n=getComputedStyle;window.getComputedStyle=function(t){try{return n(t)}catch(e){return null}}}}(Zepto); \ No newline at end of file diff --git a/libcpychecker_html/make_html.py b/libcpychecker_html/make_html.py index 5453a323..30931a95 100755 --- a/libcpychecker_html/make_html.py +++ b/libcpychecker_html/make_html.py @@ -77,7 +77,7 @@ def head(self): media='screen', type='text/css' ) - for css in ('extlib/reset-20110126', 'pygments_c', 'style') + for css in ('extlib/reset-20110126.min', 'pygments_c', 'style') ) head.extend( E.SCRIPT( @@ -85,8 +85,8 @@ def head(self): type='text/javascript', ) for js in ( + 'extlib/zepto-1.1.3.min', 'extlib/prefixfree-1.0.4.min', - 'extlib/jquery-1.7.1.min', 'script' ) ) diff --git a/libcpychecker_html/script.js b/libcpychecker_html/script.js index 741dd6a7..88129d0a 100644 --- a/libcpychecker_html/script.js +++ b/libcpychecker_html/script.js @@ -89,10 +89,10 @@ $(function() { // state commentary, highlight the dot and the comment and // the row itself var $group = $row.add(flow[0].$state).add($new_cell); - $new_cell.add(flow[0].$state).hover( - function() { $group.addClass('selected'); }, - function() { $group.removeClass('selected'); } - ); + $new_cell.add(flow[0].$state).on({ + mouseenter: function() { $group.addClass('selected'); }, + mouseleave: function() { $group.removeClass('selected'); } + }); flow.shift(); } @@ -117,10 +117,10 @@ $(function() { // with that line if ($selectables.length) { $selectables = $selectables.add($row); - $row.find('td:last-child').hover( - function() { $selectables.addClass('selected') }, - function() { $selectables.removeClass('selected') } - ); + $row.find('td:last-child').on({ + mouseenter: function() { $selectables.addClass('selected') }, + mouseleave: function() { $selectables.removeClass('selected') } + }); } }); }); From df7f50a9499e98260954d112b4724b9660d8f87d Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 20:40:34 -0700 Subject: [PATCH 5/7] grab zepto from cdn, rather than embedding. --- libcpychecker_html/make_html.py | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/libcpychecker_html/make_html.py b/libcpychecker_html/make_html.py index 30931a95..0013bdae 100755 --- a/libcpychecker_html/make_html.py +++ b/libcpychecker_html/make_html.py @@ -3,7 +3,8 @@ These reports should be usable as email attachments, offline. This means we need to embed *all* our assets. -TODO: #11 optimize the filesize +We make an exception for zepto; it's (relatively) big, and the behaviors +it adds are non-essential to reading the report. """ from __future__ import print_function from __future__ import unicode_literals @@ -79,13 +80,16 @@ def head(self): ) for css in ('extlib/reset-20110126.min', 'pygments_c', 'style') ) + head.append(E.SCRIPT( + src='http://cdnjs.cloudflare.com/ajax/libs/zepto/1.1.3/zepto.js', + type='text/javascript', + )) head.extend( E.SCRIPT( file_contents(js + '.js'), type='text/javascript', ) for js in ( - 'extlib/zepto-1.1.3.min', 'extlib/prefixfree-1.0.4.min', 'script' ) @@ -263,12 +267,14 @@ def body(self): ) def data_uri(mimetype, filename): - "represent a file as a data uri" - data = open(join(HERE, filename), 'rb').read().encode('base64').replace('\n', '') + """represent a file as a data uri""" + data = open(join(HERE, filename), 'rb').read() + data = data.encode('base64').replace('\n', '') return 'data:%s;base64,%s' % (mimetype, data) def file_contents(filename): - # The leading newline makes the first line show up in the right spot. + """Add a leading newline to make the first line show up in the right spot. + """ return '\n' + open(join(HERE, filename)).read() From 2e156ea02dddfad1509d64f26b82a4c26b5c8c93 Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Mon, 19 May 2014 20:41:32 -0700 Subject: [PATCH 6/7] optimize pngs: 95% / 51KB savings! --- libcpychecker_html/images/arrow-180.png | Bin 589 -> 395 bytes libcpychecker_html/images/arrow.png | Bin 50462 -> 432 bytes libcpychecker_html/images/bug--arrow.png | Bin 789 -> 617 bytes libcpychecker_html/images/bug.png | Bin 704 -> 495 bytes libcpychecker_html/images/exclamation.png | Bin 654 -> 480 bytes libcpychecker_html/images/footer-bg.png | Bin 193 -> 137 bytes libcpychecker_html/images/header-bg.png | Bin 194 -> 136 bytes 7 files changed, 0 insertions(+), 0 deletions(-) mode change 100755 => 100644 libcpychecker_html/images/arrow-180.png mode change 100755 => 100644 libcpychecker_html/images/bug--arrow.png mode change 100755 => 100644 libcpychecker_html/images/bug.png mode change 100755 => 100644 libcpychecker_html/images/footer-bg.png mode change 100755 => 100644 libcpychecker_html/images/header-bg.png diff --git a/libcpychecker_html/images/arrow-180.png b/libcpychecker_html/images/arrow-180.png old mode 100755 new mode 100644 index fc1355503a9670aea869e35f03d4942215e2ea17..551b898a81cdff5e07cc842ae00020c2edd4c9e5 GIT binary patch delta 379 zcmX@h(#nHv|(_0~yFbEN!D+`z45o-JIt(vz}T^ zePG;olPzd2cf?|W_*F{fhcxO>$>i;HnD?j(~{v26Y>CZl9lyE5_gO}cFtD~^7( zS@Fzi?epnR{-vU~p*?)x0K{!Qre2QJetJ5IhZ>E7S|+ke7N{xUoI zpKtZorgJ~FcYODpeZ$87b{x=txso8iV1}3&c0OY!sjF8-wPLQqz|5ExF(olGXU=)^ zTnwnP+0(@_MB;MkiR(g51|qH(wN+Y_WZ%qkI{xl|{haa>%`KAG50}im$^I`QUre^m zZM~ADr0i*}dE3=*PhUQFJ%?1I+}G8Gi-<001BJ|6u?C02y>eSaefwW^{L9a%BKPWN%_+AW3auXJt}l zVPtu6$z?nM00HkwL_t(|+N4uGXcJ)=e(vtOBuXqHZR!uWRMZw)hkls^QAbfH(Lqie zstpLjjgIaT5ep8^!A)@yrQjsE*bLe#5}dNAWY9}v?(e(re1E^|RW6YvgXQ)AKko>#T$%v})$9qdV1;&^qgs?{g z?)LWBM15Bzjx7;}_Kk~2IC&`ayWPZ3Tw#!)vLVS2LdW;Fjl4H-S^jbz5q=Lq!P@-i^!k40+f$i6tfSl zTKvb;hU!v{Td&4VfZoQlVS#}evkTDYFI(Eo$>d8E?;ccT=PM?hGAp3wDH5hq?9-Q5 z&ZAITmN@V0^%0JezMG;)+-OihjgTYcQ_X&zyNfV^w+4~ht2>1 N002ovPDHLkV1m$x7S;d& diff --git a/libcpychecker_html/images/arrow.png b/libcpychecker_html/images/arrow.png index b8bddc65f2fc15d3f0e375223ad38070c7da0216..bc7bddfa4cf8d327a2087e350db69364c2f1927e 100644 GIT binary patch delta 418 zcmbQ&#k_%ef@D220|SGGE`KnPS{L9G;tHhUK(GB0ge{%53CIvj+X&&>&3SG*@s3pX zHk(;bEv7y&>buDovw|&X9(TkNf%sKQ<%iVkPRZo$RIfYfFz=;q+eId;Vph8{CZlAa zf#T_#fFe$7pO+v0GX2T_`m{~&td~ElI`*~m>hFv#?`8M?k6ZsHbom39X_p-*U$9&C zbke=Q{kQ)V?fcSn?q}G^UuH-D^R50`xc8Ixj_;ncZycI^od@VBrIH}OUg<_IOVVcoRrh73Xs@+4} z8O?QguFnq^E#+p|aErlv`c*-di&rwGmg!_3iqE%R$9*AE-01=+d_7(LT-G@yGywnv Cjkz}f literal 50462 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 CQv~Gz diff --git a/libcpychecker_html/images/bug--arrow.png b/libcpychecker_html/images/bug--arrow.png old mode 100755 new mode 100644 index d6eb9f1f5db8fbf127ae6b846e8c3043266d1b8e..b0c8ddf296406b572b6d04960000603c3c9fd413 GIT binary patch delta 603 zcmV-h0;K(w2I&Nl8Gi!+001a04^sdD0TED4R7C&)02peu00003bOQhY00B_}00000 zH2?q|00VUc18f5WW&;Cj0{}Dt0$&0FLjeL=0s>zGFM%%sIROoB4FNX+0000ASEB=N z0{}4q19SrbEC2v300000B4HvLY#IOz001-qGK|+al;0F(oPREd(EtDd05AXm6#xK9 z02yqz22q;;F#rHM00}?|07n1-JOCqk!wp=g4O^Z)o8>5VlQnrYK7>AKwPfF=H^tHR9~rIPMc0ho=91#SwNaVRIF5P z*Z)ANK$YbGD1UmfN{~uSlT3EYb~wfVN3KUIgsT>6cRZM$KaD?5vQ9FKwFMqvwg3PC zHgr->QvlWhcNWnaiVMV<8ABwjy=WQi&(G2kT*b~{pm8Gd>oa#;)%?~4O+2?;o4#h& zk#^PA{H{#5Xf^TpY9cD}9G=~bE+R4B&|%j0Tc7{;Q)LI!XtwmhW-A+;B>03ZKiB%Y8G p@rYQfegg}?*eA-eEc$Sc{W}P=9DO6GSnB`)002ovPDHLkV1h6y=$-%o delta 777 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 U=Kk3j1k}vn>FVdQ&MBb@0QYz*z5oCK delta 177 zcmeBVJjggfqMn19fq~)3$EbBcO0vW?q9iy!t)x7$D3!r6B|j-u!8128JvAsbF{QHb zWU38N5l?_mh-*Z#dsK;MM3MWx|NAq3_bmpBvy=q+1^@s5pTR+E5^{)z4*}Q$iB}7572u diff --git a/libcpychecker_html/images/header-bg.png b/libcpychecker_html/images/header-bg.png old mode 100755 new mode 100644 index 3f30dc44baabd2e3b91e21359ef89a4025302864..9e5b191adf384ff2570050f2e5b570e720b64a7a GIT binary patch delta 119 zcmX@a*ugkKqJWW^fq|i)dx|KKVhivIaRt&5MeatGoDD!0V@Z%-FoVOh8)-m}fv1aO zh{WaOAOHU!&{!sLoq6Nm|7>hO|MT$t`7a@HJ3`31JZj+Y*D#b d)5gHe5M9pmzH#yKZ$N_>JYD@<);T3K0RVb)M5O=# From 6807adce1b0afbdbdf514f1fc96c50b1f44641df Mon Sep 17 00:00:00 2001 From: Buck Golemon Date: Tue, 20 May 2014 10:20:32 -0700 Subject: [PATCH 7/7] fixes to the css: remove -moz-, add commas to transition-property --- libcpychecker_html/style.css | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/libcpychecker_html/style.css b/libcpychecker_html/style.css index 24d44e8a..689a8612 100755 --- a/libcpychecker_html/style.css +++ b/libcpychecker_html/style.css @@ -353,7 +353,7 @@ var.leak { /* Selection overrides */ .states li { left: 0; - transition-property: left background-color border-color; + transition-property: left, background-color, border-color; } .source tr .states li h2 { @@ -362,8 +362,8 @@ var.leak { td .flow-dot, .states li, .states li h2 { - -moz-transition-duration: 0.25s; - -moz-transition-timing-function: ease-out; + transition-duration: 0.25s; + transition-timing-function: ease-out; } td.selected .flow-dot {