diff options
| author | dodji <dodji> | 2014-11-03 14:22:33 +0000 |
|---|---|---|
| committer | dodji <dodji> | 2014-11-03 14:22:33 +0000 |
| commit | 5b34c562cfc297437dbc7305eef1d862ae24406d (patch) | |
| tree | c57c536e83733734be892fcb9deb7a8d78e881fb | |
| parent | Update doc string for the xml_writer namespace (diff) | |
Add usage examples to abidiff manual
| -rw-r--r-- | manual/_sources/abidiff.txt | 162 | ||||
| -rw-r--r-- | manual/_static/basic.css | 7 | ||||
| -rw-r--r-- | manual/_static/default.css | 2 | ||||
| -rw-r--r-- | manual/_static/doctools.js | 19 | ||||
| -rw-r--r-- | manual/_static/jquery.js | 156 | ||||
| -rw-r--r-- | manual/_static/searchtools.js | 362 | ||||
| -rw-r--r-- | manual/_static/sidebar.js | 14 | ||||
| -rw-r--r-- | manual/_static/underscore.js | 50 | ||||
| -rw-r--r-- | manual/_static/websupport.js | 2 | ||||
| -rw-r--r-- | manual/abidiff.html | 178 | ||||
| -rw-r--r-- | manual/abidw.html | 9 | ||||
| -rw-r--r-- | manual/abilint.html | 6 | ||||
| -rw-r--r-- | manual/genindex.html | 7 | ||||
| -rw-r--r-- | manual/index.html | 6 | ||||
| -rw-r--r-- | manual/libabigail-concepts.html | 151 | ||||
| -rw-r--r-- | manual/libabigail-overview.html | 6 | ||||
| -rw-r--r-- | manual/libabigail-tools.html | 6 | ||||
| -rw-r--r-- | manual/objects.inv | 5 | ||||
| -rw-r--r-- | manual/search.html | 8 | ||||
| -rw-r--r-- | manual/searchindex.js | 2 |
20 files changed, 705 insertions, 453 deletions
diff --git a/manual/_sources/abidiff.txt b/manual/_sources/abidiff.txt index cd50b720..7a861512 100644 --- a/manual/_sources/abidiff.txt +++ b/manual/_sources/abidiff.txt | |||
| @@ -193,6 +193,168 @@ Options | |||
| 193 | In the diff report, do not display redundant changes. A redundant | 193 | In the diff report, do not display redundant changes. A redundant |
| 194 | change is a change that has been displayed elsewhere in the report. | 194 | change is a change that has been displayed elsewhere in the report. |
| 195 | 195 | ||
| 196 | Usage examples | ||
| 197 | ============== | ||
| 198 | |||
| 199 | 1. Detecting a change in a sub-type of a function: :: | ||
| 200 | |||
| 201 | $ cat -n test-v0.cc | ||
| 202 | 1 // Compile this with: | ||
| 203 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 204 | 3 | ||
| 205 | 4 struct S0 | ||
| 206 | 5 { | ||
| 207 | 6 int m0; | ||
| 208 | 7 }; | ||
| 209 | 8 | ||
| 210 | 9 void | ||
| 211 | 10 foo(S0* /*parameter_name*/) | ||
| 212 | 11 { | ||
| 213 | 12 // do something with parameter_name. | ||
| 214 | 13 } | ||
| 215 | $ | ||
| 216 | $ cat -n test-v1.cc | ||
| 217 | 1 // Compile this with: | ||
| 218 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 219 | 3 | ||
| 220 | 4 struct type_base | ||
| 221 | 5 { | ||
| 222 | 6 int inserted; | ||
| 223 | 7 }; | ||
| 224 | 8 | ||
| 225 | 9 struct S0 : public type_base | ||
| 226 | 10 { | ||
| 227 | 11 int m0; | ||
| 228 | 12 }; | ||
| 229 | 13 | ||
| 230 | 14 void | ||
| 231 | 15 foo(S0* /*parameter_name*/) | ||
| 232 | 16 { | ||
| 233 | 17 // do something with parameter_name. | ||
| 234 | 18 } | ||
| 235 | $ | ||
| 236 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 237 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 238 | $ | ||
| 239 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 240 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function | ||
| 241 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 242 | |||
| 243 | 1 function with some indirect sub-type change: | ||
| 244 | |||
| 245 | [C]'function void foo(S0*)' has some indirect sub-type changes: | ||
| 246 | parameter 0 of type 'S0*' has sub-type changes: | ||
| 247 | in pointed to type 'struct S0': | ||
| 248 | size changed from 32 to 64 bits | ||
| 249 | 1 base class insertion: | ||
| 250 | struct type_base | ||
| 251 | 1 data member change: | ||
| 252 | 'int S0::m0' offset changed from 0 to 32 | ||
| 253 | $ | ||
| 254 | |||
| 255 | |||
| 256 | 2. Detecting another change in a sub-type of a function: :: | ||
| 257 | |||
| 258 | $ cat -n test-v0.cc | ||
| 259 | 1 // Compile this with: | ||
| 260 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 261 | 3 | ||
| 262 | 4 struct S0 | ||
| 263 | 5 { | ||
| 264 | 6 int m0; | ||
| 265 | 7 }; | ||
| 266 | 8 | ||
| 267 | 9 void | ||
| 268 | 10 foo(S0& /*parameter_name*/) | ||
| 269 | 11 { | ||
| 270 | 12 // do something with parameter_name. | ||
| 271 | 13 } | ||
| 272 | $ | ||
| 273 | $ cat -n test-v1.cc | ||
| 274 | 1 // Compile this with: | ||
| 275 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 276 | 3 | ||
| 277 | 4 struct S0 | ||
| 278 | 5 { | ||
| 279 | 6 char inserted_member; | ||
| 280 | 7 int m0; | ||
| 281 | 8 }; | ||
| 282 | 9 | ||
| 283 | 10 void | ||
| 284 | 11 foo(S0& /*parameter_name*/) | ||
| 285 | 12 { | ||
| 286 | 13 // do something with parameter_name. | ||
| 287 | 14 } | ||
| 288 | $ | ||
| 289 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 290 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 291 | $ | ||
| 292 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 293 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function | ||
| 294 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 295 | |||
| 296 | 1 function with some indirect sub-type change: | ||
| 297 | |||
| 298 | [C]'function void foo(S0&)' has some indirect sub-type changes: | ||
| 299 | parameter 0 of type 'S0&' has sub-type changes: | ||
| 300 | in referenced type 'struct S0': | ||
| 301 | size changed from 32 to 64 bits | ||
| 302 | 1 data member insertion: | ||
| 303 | 'char S0::inserted_member', at offset 0 (in bits) | ||
| 304 | 1 data member change: | ||
| 305 | 'int S0::m0' offset changed from 0 to 32 | ||
| 306 | |||
| 307 | |||
| 308 | $ | ||
| 309 | |||
| 310 | 3. Detecting that functions got removed or added to a library: :: | ||
| 311 | |||
| 312 | $ cat -n test-v0.cc | ||
| 313 | 1 // Compile this with: | ||
| 314 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 315 | 3 | ||
| 316 | 4 struct S0 | ||
| 317 | 5 { | ||
| 318 | 6 int m0; | ||
| 319 | 7 }; | ||
| 320 | 8 | ||
| 321 | 9 void | ||
| 322 | 10 foo(S0& /*parameter_name*/) | ||
| 323 | 11 { | ||
| 324 | 12 // do something with parameter_name. | ||
| 325 | 13 } | ||
| 326 | $ | ||
| 327 | $ cat -n test-v1.cc | ||
| 328 | 1 // Compile this with: | ||
| 329 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 330 | 3 | ||
| 331 | 4 struct S0 | ||
| 332 | 5 { | ||
| 333 | 6 char inserted_member; | ||
| 334 | 7 int m0; | ||
| 335 | 8 }; | ||
| 336 | 9 | ||
| 337 | 10 void | ||
| 338 | 11 bar(S0& /*parameter_name*/) | ||
| 339 | 12 { | ||
| 340 | 13 // do something with parameter_name. | ||
| 341 | 14 } | ||
| 342 | $ | ||
| 343 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 344 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 345 | $ | ||
| 346 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 347 | Functions changes summary: 1 Removed, 0 Changed, 1 Added functions | ||
| 348 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 349 | |||
| 350 | 1 Removed function: | ||
| 351 | 'function void foo(S0&)' {_Z3fooR2S0} | ||
| 352 | |||
| 353 | 1 Added function: | ||
| 354 | 'function void bar(S0&)' {_Z3barR2S0} | ||
| 355 | |||
| 356 | $ | ||
| 357 | |||
| 196 | .. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format | 358 | .. _ELF: http://en.wikipedia.org/wiki/Executable_and_Linkable_Format |
| 197 | .. _DWARF: http://www.dwarfstd.org | 359 | .. _DWARF: http://www.dwarfstd.org |
| 198 | 360 | ||
diff --git a/manual/_static/basic.css b/manual/_static/basic.css index 43e8bafa..967e36ce 100644 --- a/manual/_static/basic.css +++ b/manual/_static/basic.css | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * | 4 | * |
| 5 | * Sphinx stylesheet -- basic theme. | 5 | * Sphinx stylesheet -- basic theme. |
| 6 | * | 6 | * |
| 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 7 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 8 | * :license: BSD, see LICENSE for details. | 8 | * :license: BSD, see LICENSE for details. |
| 9 | * | 9 | * |
| 10 | */ | 10 | */ |
| @@ -89,6 +89,7 @@ div.sphinxsidebar #searchbox input[type="submit"] { | |||
| 89 | 89 | ||
| 90 | img { | 90 | img { |
| 91 | border: 0; | 91 | border: 0; |
| 92 | max-width: 100%; | ||
| 92 | } | 93 | } |
| 93 | 94 | ||
| 94 | /* -- search page ----------------------------------------------------------- */ | 95 | /* -- search page ----------------------------------------------------------- */ |
| @@ -401,10 +402,6 @@ dl.glossary dt { | |||
| 401 | margin: 0; | 402 | margin: 0; |
| 402 | } | 403 | } |
| 403 | 404 | ||
| 404 | .refcount { | ||
| 405 | color: #060; | ||
| 406 | } | ||
| 407 | |||
| 408 | .optional { | 405 | .optional { |
| 409 | font-size: 1.3em; | 406 | font-size: 1.3em; |
| 410 | } | 407 | } |
diff --git a/manual/_static/default.css b/manual/_static/default.css index 21f3f509..5f1399ab 100644 --- a/manual/_static/default.css +++ b/manual/_static/default.css | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * | 4 | * |
| 5 | * Sphinx stylesheet -- default theme. | 5 | * Sphinx stylesheet -- default theme. |
| 6 | * | 6 | * |
| 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 7 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 8 | * :license: BSD, see LICENSE for details. | 8 | * :license: BSD, see LICENSE for details. |
| 9 | * | 9 | * |
| 10 | */ | 10 | */ |
diff --git a/manual/_static/doctools.js b/manual/_static/doctools.js index d4619fdf..c5455c90 100644 --- a/manual/_static/doctools.js +++ b/manual/_static/doctools.js | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * | 4 | * |
| 5 | * Sphinx JavaScript utilities for all documentation. | 5 | * Sphinx JavaScript utilities for all documentation. |
| 6 | * | 6 | * |
| 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 7 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 8 | * :license: BSD, see LICENSE for details. | 8 | * :license: BSD, see LICENSE for details. |
| 9 | * | 9 | * |
| 10 | */ | 10 | */ |
| @@ -32,7 +32,7 @@ if (!window.console || !console.firebug) { | |||
| 32 | */ | 32 | */ |
| 33 | jQuery.urldecode = function(x) { | 33 | jQuery.urldecode = function(x) { |
| 34 | return decodeURIComponent(x).replace(/\+/g, ' '); | 34 | return decodeURIComponent(x).replace(/\+/g, ' '); |
| 35 | } | 35 | }; |
| 36 | 36 | ||
| 37 | /** | 37 | /** |
| 38 | * small helper function to urlencode strings | 38 | * small helper function to urlencode strings |
| @@ -62,18 +62,6 @@ jQuery.getQueryParameters = function(s) { | |||
| 62 | }; | 62 | }; |
| 63 | 63 | ||
| 64 | /** | 64 | /** |
| 65 | * small function to check if an array contains | ||
| 66 | * a given item. | ||
| 67 | */ | ||
| 68 | jQuery.contains = function(arr, item) { | ||
| 69 | for (var i = 0; i < arr.length; i++) { | ||
| 70 | if (arr[i] == item) | ||
| 71 | return true; | ||
| 72 | } | ||
| 73 | return false; | ||
| 74 | }; | ||
| 75 | |||
| 76 | /** | ||
| 77 | * highlight a given string on a jquery object by wrapping it in | 65 | * highlight a given string on a jquery object by wrapping it in |
| 78 | * span elements with the given class name. | 66 | * span elements with the given class name. |
| 79 | */ | 67 | */ |
| @@ -180,6 +168,9 @@ var Documentation = { | |||
| 180 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; | 168 | var terms = (params.highlight) ? params.highlight[0].split(/\s+/) : []; |
| 181 | if (terms.length) { | 169 | if (terms.length) { |
| 182 | var body = $('div.body'); | 170 | var body = $('div.body'); |
| 171 | if (!body.length) { | ||
| 172 | body = $('body'); | ||
| 173 | } | ||
| 183 | window.setTimeout(function() { | 174 | window.setTimeout(function() { |
| 184 | $.each(terms, function() { | 175 | $.each(terms, function() { |
| 185 | body.highlightText(this.toLowerCase(), 'highlighted'); | 176 | body.highlightText(this.toLowerCase(), 'highlighted'); |
diff --git a/manual/_static/jquery.js b/manual/_static/jquery.js index 7c243080..83589daa 100644 --- a/manual/_static/jquery.js +++ b/manual/_static/jquery.js | |||
| @@ -1,154 +1,2 @@ | |||
| 1 | /*! | 1 | /*! jQuery v1.8.3 jquery.com | jquery.org/license */ |
| 2 | * jQuery JavaScript Library v1.4.2 | 2 | (function(e,t){function _(e){var t=M[e]={};return v.each(e.split(y),function(e,n){t[n]=!0}),t}function H(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(P,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:+r+""===r?+r:D.test(r)?v.parseJSON(r):r}catch(s){}v.data(e,n,r)}else r=t}return r}function B(e){var t;for(t in e){if(t==="data"&&v.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function et(){return!1}function tt(){return!0}function ut(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function at(e,t){do e=e[t];while(e&&e.nodeType!==1);return e}function ft(e,t,n){t=t||0;if(v.isFunction(t))return v.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return v.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=v.grep(e,function(e){return e.nodeType===1});if(it.test(t))return v.filter(t,r,!n);t=v.filter(t,r)}return v.grep(e,function(e,r){return v.inArray(e,t)>=0===n})}function lt(e){var t=ct.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function Lt(e,t){return e.getElementsByTagName(t)[0]||e.appendChild(e.ownerDocument.createElement(t))}function At(e,t){if(t.nodeType!==1||!v.hasData(e))return;var n,r,i,s=v._data(e),o=v._data(t,s),u=s.events;if(u){delete o.handle,o.events={};for(n in u)for(r=0,i=u[n].length;r<i;r++)v.event.add(t,n,u[n][r])}o.data&&(o.data=v.extend({},o.data))}function Ot(e,t){var n;if(t.nodeType!==1)return;t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?(t.parentNode&&(t.outerHTML=e.outerHTML),v.support.html5Clone&&e.innerHTML&&!v.trim(t.innerHTML)&&(t.innerHTML=e.innerHTML)):n==="input"&&Et.test(e.type)?(t.defaultChecked=t.checked=e.checked,t.value!==e.value&&(t.value=e.value)):n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text),t.removeAttribute(v.expando)}function Mt(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function _t(e){Et.test(e.type)&&(e.defaultChecked=e.checked)}function Qt(e,t){if(t in e)return t;var n=t.charAt(0).toUpperCase()+t.slice(1),r=t,i=Jt.length;while(i--){t=Jt[i]+n;if(t in e)return t}return r}function Gt(e,t){return e=t||e,v.css(e,"display")==="none"||!v.contains(e.ownerDocument,e)}function Yt(e,t){var n,r,i=[],s=0,o=e.length;for(;s<o;s++){n=e[s];if(!n.style)continue;i[s]=v._data(n,"olddisplay"),t?(!i[s]&&n.style.display==="none"&&(n.style.display=""),n.style.display===""&&Gt(n)&&(i[s]=v._data(n,"olddisplay",nn(n.nodeName)))):(r=Dt(n,"display"),!i[s]&&r!=="none"&&v._data(n,"olddisplay",r))}for(s=0;s<o;s++){n=e[s];if(!n.style)continue;if(!t||n.style.display==="none"||n.style.display==="")n.style.display=t?i[s]||"":"none"}return e}function Zt(e,t,n){var r=Rt.exec(t);return r?Math.max(0,r[1]-(n||0))+(r[2]||"px"):t}function en(e,t,n,r){var i=n===(r?"border":"content")?4:t==="width"?1:0,s=0;for(;i<4;i+=2)n==="margin"&&(s+=v.css(e,n+$t[i],!0)),r?(n==="content"&&(s-=parseFloat(Dt(e,"padding"+$t[i]))||0),n!=="margin"&&(s-=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0)):(s+=parseFloat(Dt(e,"padding"+$t[i]))||0,n!=="padding"&&(s+=parseFloat(Dt(e,"border"+$t[i]+"Width"))||0));return s}function tn(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=!0,s=v.support.boxSizing&&v.css(e,"boxSizing")==="border-box";if(r<=0||r==null){r=Dt(e,t);if(r<0||r==null)r=e.style[t];if(Ut.test(r))return r;i=s&&(v.support.boxSizingReliable||r===e.style[t]),r=parseFloat(r)||0}return r+en(e,t,n||(s?"border":"content"),i)+"px"}function nn(e){if(Wt[e])return Wt[e];var t=v("<"+e+">").appendTo(i.body),n=t.css("display");t.remove();if(n==="none"||n===""){Pt=i.body.appendChild(Pt||v.extend(i.createElement("iframe"),{frameBorder:0,width:0,height:0}));if(!Ht||!Pt.createElement)Ht=(Pt.contentWindow||Pt.contentDocument).document,Ht.write("<!doctype html><html><body>"),Ht.close();t=Ht.body.appendChild(Ht.createElement(e)),n=Dt(t,"display"),i.body.removeChild(Pt)}return Wt[e]=n,n}function fn(e,t,n,r){var i;if(v.isArray(t))v.each(t,function(t,i){n||sn.test(e)?r(e,i):fn(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&v.type(t)==="object")for(i in t)fn(e+"["+i+"]",t[i],n,r);else r(e,t)}function Cn(e){return function(t,n){typeof t!="string"&&(n=t,t="*");var r,i,s,o=t.toLowerCase().split(y),u=0,a=o.length;if(v.isFunction(n))for(;u<a;u++)r=o[u],s=/^\+/.test(r),s&&(r=r.substr(1)||"*"),i=e[r]=e[r]||[],i[s?"unshift":"push"](n)}}function kn(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u,a=e[s],f=0,l=a?a.length:0,c=e===Sn;for(;f<l&&(c||!u);f++)u=a[f](n,r,i),typeof u=="string"&&(!c||o[u]?u=t:(n.dataTypes.unshift(u),u=kn(e,n,r,i,u,o)));return(c||!u)&&!o["*"]&&(u=kn(e,n,r,i,"*",o)),u}function Ln(e,n){var r,i,s=v.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&v.extend(!0,e,i)}function An(e,n,r){var i,s,o,u,a=e.contents,f=e.dataTypes,l=e.responseFields;for(s in l)s in r&&(n[l[s]]=r[s]);while(f[0]==="*")f.shift(),i===t&&(i=e.mimeType||n.getResponseHeader("content-type"));if(i)for(s in a)if(a[s]&&a[s].test(i)){f.unshift(s);break}if(f[0]in r)o=f[0];else{for(s in r){if(!f[0]||e.converters[s+" "+f[0]]){o=s;break}u||(u=s)}o=o||u}if(o)return o!==f[0]&&f.unshift(o),r[o]}function On(e,t){var n,r,i,s,o=e.dataTypes.slice(),u=o[0],a={},f=0;e.dataFilter&&(t=e.dataFilter(t,e.dataType));if(o[1])for(n in e.converters)a[n.toLowerCase()]=e.converters[n];for(;i=o[++f];)if(i!=="*"){if(u!=="*"&&u!==i){n=a[u+" "+i]||a["* "+i];if(!n)for(r in a){s=r.split(" ");if(s[1]===i){n=a[u+" "+s[0]]||a["* "+s[0]];if(n){n===!0?n=a[r]:a[r]!==!0&&(i=s[0],o.splice(f--,0,i));break}}}if(n!==!0)if(n&&e["throws"])t=n(t);else try{t=n(t)}catch(l){return{state:"parsererror",error:n?l:"No conversion from "+u+" to "+i}}}u=i}return{state:"success",data:t}}function Fn(){try{return new e.XMLHttpRequest}catch(t){}}function In(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function $n(){return setTimeout(function(){qn=t},0),qn=v.now()}function Jn(e,t){v.each(t,function(t,n){var r=(Vn[t]||[]).concat(Vn["*"]),i=0,s=r.length;for(;i<s;i++)if(r[i].call(e,t,n))return})}function Kn(e,t,n){var r,i=0,s=0,o=Xn.length,u=v.Deferred().always(function(){delete a.elem}),a=function(){var t=qn||$n(),n=Math.max(0,f.startTime+f.duration-t),r=n/f.duration||0,i=1-r,s=0,o=f.tweens.length;for(;s<o;s++)f.tweens[s].run(i);return u.notifyWith(e,[f,i,n]),i<1&&o?n:(u.resolveWith(e,[f]),!1)},f=u.promise({elem:e,props:v.extend({},t),opts:v.extend(!0,{specialEasing:{}},n),originalProperties:t,originalOptions:n,startTime:qn||$n(),duration:n.duration,tweens:[],createTween:function(t,n,r){var i=v.Tween(e,f.opts,t,n,f.opts.specialEasing[t]||f.opts.easing);return f.tweens.push(i),i},stop:function(t){var n=0,r=t?f.tweens.length:0;for(;n<r;n++)f.tweens[n].run(1);return t?u.resolveWith(e,[f,t]):u.rejectWith(e,[f,t]),this}}),l=f.props;Qn(l,f.opts.specialEasing);for(;i<o;i++){r=Xn[i].call(f,e,l,f.opts);if(r)return r}return Jn(f,l),v.isFunction(f.opts.start)&&f.opts.start.call(e,f),v.fx.timer(v.extend(a,{anim:f,queue:f.opts.queue,elem:e})),f.progress(f.opts.progress).done(f.opts.done,f.opts.complete).fail(f.opts.fail).always(f.opts.always)}function Qn(e,t){var n,r,i,s,o;for(n in e){r=v.camelCase(n),i=t[r],s=e[n],v.isArray(s)&&(i=s[1],s=e[n]=s[0]),n!==r&&(e[r]=s,delete e[n]),o=v.cssHooks[r];if(o&&"expand"in o){s=o.expand(s),delete e[r];for(n in s)n in e||(e[n]=s[n],t[n]=i)}else t[r]=i}}function Gn(e,t,n){var r,i,s,o,u,a,f,l,c,h=this,p=e.style,d={},m=[],g=e.nodeType&&Gt(e);n.queue||(l=v._queueHooks(e,"fx"),l.unqueued==null&&(l.unqueued=0,c=l.empty.fire,l.empty.fire=function(){l.unqueued||c()}),l.unqueued++,h.always(function(){h.always(function(){l.unqueued--,v.queue(e,"fx").length||l.empty.fire()})})),e.nodeType===1&&("height"in t||"width"in t)&&(n.overflow=[p.overflow,p.overflowX,p.overflowY],v.css(e,"display")==="inline"&&v.css(e,"float")==="none"&&(!v.support.inlineBlockNeedsLayout||nn(e.nodeName)==="inline"?p.display="inline-block":p.zoom=1)),n.overflow&&(p.overflow="hidden",v.support.shrinkWrapBlocks||h.done(function(){p.overflow=n.overflow[0],p.overflowX=n.overflow[1],p.overflowY=n.overflow[2]}));for(r in t){s=t[r];if(Un.exec(s)){delete t[r],a=a||s==="toggle";if(s===(g?"hide":"show"))continue;m.push(r)}}o=m.length;if(o){u=v._data(e,"fxshow")||v._data(e,"fxshow",{}),"hidden"in u&&(g=u.hidden),a&&(u.hidden=!g),g?v(e).show():h.done(function(){v(e).hide()}),h.done(function(){var t;v.removeData(e,"fxshow",!0);for(t in d)v.style(e,t,d[t])});for(r=0;r<o;r++)i=m[r],f=h.createTween(i,g?u[i]:0),d[i]=u[i]||v.style(e,i),i in u||(u[i]=f.start,g&&(f.end=f.start,f.start=i==="width"||i==="height"?1:0))}}function Yn(e,t,n,r,i){return new Yn.prototype.init(e,t,n,r,i)}function Zn(e,t){var n,r={height:e},i=0;t=t?1:0;for(;i<4;i+=2-t)n=$t[i],r["margin"+n]=r["padding"+n]=e;return t&&(r.opacity=r.width=e),r}function tr(e){return v.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}var n,r,i=e.document,s=e.location,o=e.navigator,u=e.jQuery,a=e.$,f=Array.prototype.push,l=Array.prototype.slice,c=Array.prototype.indexOf,h=Object.prototype.toString,p=Object.prototype.hasOwnProperty,d=String.prototype.trim,v=function(e,t){return new v.fn.init(e,t,n)},m=/[\-+]?(?:\d*\.|)\d+(?:[eE][\-+]?\d+|)/.source,g=/\S/,y=/\s+/,b=/^[\s\uFEFF\xA0]+|[\s\uFEFF\xA0]+$/g,w=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,E=/^<(\w+)\s*\/?>(?:<\/\1>|)$/,S=/^[\],:{}\s]*$/,x=/(?:^|:|,)(?:\s*\[)+/g,T=/\\(?:["\\\/bfnrt]|u[\da-fA-F]{4})/g,N=/"[^"\\\r\n]*"|true|false|null|-?(?:\d\d*\.|)\d+(?:[eE][\-+]?\d+|)/g,C=/^-ms-/,k=/-([\da-z])/gi,L=function(e,t){return(t+"").toUpperCase()},A=function(){i.addEventListener?(i.removeEventListener("DOMContentLoaded",A,!1),v.ready()):i.readyState==="complete"&&(i.detachEvent("onreadystatechange",A),v.ready())},O={};v.fn=v.prototype={constructor:v,init:function(e,n,r){var s,o,u,a;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)==="<"&&e.charAt(e.length-1)===">"&&e.length>=3?s=[null,e,null]:s=w.exec(e);if(s&&(s[1]||!n)){if(s[1])return n=n instanceof v?n[0]:n,a=n&&n.nodeType?n.ownerDocument||n:i,e=v.parseHTML(s[1],a,!0),E.test(s[1])&&v.isPlainObject(n)&&this.attr.call(e,n,!0),v.merge(this,e);o=i.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return r.find(e);this.length=1,this[0]=o}return this.context=i,this.selector=e,this}return!n||n.jquery?(n||r).find(e):this.constructor(n).find(e)}return v.isFunction(e)?r.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),v.makeArray(e,this))},selector:"",jquery:"1.8.3",length:0,size:function(){return this.length},toArray:function(){return l.call(this)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var r=v.merge(this.constructor(),e);return r.prevObject=this,r.context=this.context,t==="find"?r.selector=this.selector+(this.selector?" ":"")+n:t&&(r.selector=this.selector+"."+t+"("+n+")"),r},each:function(e,t){return v.each(this,e,t)},ready:function(e){return v.ready.promise().done(e),this},eq:function(e){return e=+e,e===-1?this.slice(e):this.slice(e,e+1)},first:function(){return this.eq(0)},last:function(){return this.eq(-1)},slice:function(){return this.pushStack(l.apply(this,arguments),"slice",l.call(arguments).join(","))},map:function(e){return this.pushStack(v.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:f,sort:[].sort,splice:[].splice},v.fn.init.prototype=v.fn,v.extend=v.fn.extend=function(){var e,n,r,i,s,o,u=arguments[0]||{},a=1,f=arguments.length,l=!1;typeof u=="boolean"&&(l=u,u=arguments[1]||{},a=2),typeof u!="object"&&!v.isFunction(u)&&(u={}),f===a&&(u=this,--a);for(;a<f;a++)if((e=arguments[a])!=null)for(n in e){r=u[n],i=e[n];if(u===i)continue;l&&i&&(v.isPlainObject(i)||(s=v.isArray(i)))?(s?(s=!1,o=r&&v.isArray(r)?r:[]):o=r&&v.isPlainObject(r)?r:{},u[n]=v.extend(l,o,i)):i!==t&&(u[n]=i)}return u},v.extend({noConflict:function(t){return e.$===v&&(e.$=a),t&&e.jQuery===v&&(e.jQuery=u),v},isReady:!1,readyWait:1,holdReady:function(e){e?v.readyWait++:v.ready(!0)},ready:function(e){if(e===!0?--v.readyWait:v.isReady)return;if(!i.body)return setTimeout(v.ready,1);v.isReady=!0;if(e!==!0&&--v.readyWait>0)return;r.resolveWith(i,[v]),v.fn.trigger&&v(i).trigger("ready").off("ready")},isFunction:function(e){return v.type(e)==="function"},isArray:Array.isArray||function(e){return v.type(e)==="array"},isWindow:function(e){return e!=null&&e==e.window},isNumeric:function(e){return!isNaN(parseFloat(e))&&isFinite(e)},type:function(e){return e==null?String(e):O[h.call(e)]||"object"},isPlainObject:function(e){if(!e||v.type(e)!=="object"||e.nodeType||v.isWindow(e))return!1;try{if(e.constructor&&!p.call(e,"constructor")&&!p.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var r;for(r in e);return r===t||p.call(e,r)},isEmptyObject:function(e){var t;for(t in e)return!1;return!0},error:function(e){throw new Error(e)},parseHTML:function(e,t,n){var r;return!e||typeof e!="string"?null:(typeof t=="boolean"&&(n=t,t=0),t=t||i,(r=E.exec(e))?[t.createElement(r[1])]:(r=v.buildFragment([e],t,n?null:[]),v.merge([],(r.cacheable?v.clone(r.fragment):r.fragment).childNodes)))},parseJSON:function(t){if(!t||typeof t!="string")return null;t=v.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(S.test(t.replace(T,"@").replace(N,"]").replace(x,"")))return(new Function("return "+t))();v.error("Invalid JSON: "+t)},parseXML:function(n){var r,i;if(!n||typeof n!="string")return null;try{e.DOMParser?(i=new DOMParser,r=i.parseFromString(n,"text/xml")):(r=new ActiveXObject("Microsoft.XMLDOM"),r.async="false",r.loadXML(n))}catch(s){r=t}return(!r||!r.documentElement||r.getElementsByTagName("parsererror").length)&&v.error("Invalid XML: "+n),r},noop:function(){},globalEval:function(t){t&&g.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(C,"ms-").replace(k,L)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toLowerCase()===t.toLowerCase()},each:function(e,n,r){var i,s=0,o=e.length,u=o===t||v.isFunction(e);if(r){if(u){for(i in e)if(n.apply(e[i],r)===!1)break}else for(;s<o;)if(n.apply(e[s++],r)===!1)break}else if(u){for(i in e)if(n.call(e[i],i,e[i])===!1)break}else for(;s<o;)if(n.call(e[s],s,e[s++])===!1)break;return e},trim:d&&!d.call("\ufeff\u00a0")?function(e){return e==null?"":d.call(e)}:function(e){return e==null?"":(e+"").replace(b,"")},makeArray:function(e,t){var n,r=t||[];return e!=null&&(n=v.type(e),e.length==null||n==="string"||n==="function"||n==="regexp"||v.isWindow(e)?f.call(r,e):v.merge(r,e)),r},inArray:function(e,t,n){var r;if(t){if(c)return c.call(t,e,n);r=t.length,n=n?n<0?Math.max(0,r+n):n:0;for(;n<r;n++)if(n in t&&t[n]===e)return n}return-1},merge:function(e,n){var r=n.length,i=e.length,s=0;if(typeof r=="number")for(;s<r;s++)e[i++]=n[s];else while(n[s]!==t)e[i++]=n[s++];return e.length=i,e},grep:function(e,t,n){var r,i=[],s=0,o=e.length;n=!!n;for(;s<o;s++)r=!!t(e[s],s),n!==r&&i.push(e[s]);return i},map:function(e,n,r){var i,s,o=[],u=0,a=e.length,f=e instanceof v||a!==t&&typeof a=="number"&&(a>0&&e[0]&&e[a-1]||a===0||v.isArray(e));if(f)for(;u<a;u++)i=n(e[u],u,r),i!=null&&(o[o.length]=i);else for(s in e)i=n(e[s],s,r),i!=null&&(o[o.length]=i);return o.concat.apply([],o)},guid:1,proxy:function(e,n){var r,i,s;return typeof n=="string"&&(r=e[n],n=e,e=r),v.isFunction(e)?(i=l.call(arguments,2),s=function(){return e.apply(n,i.concat(l.call(arguments)))},s.guid=e.guid=e.guid||v.guid++,s):t},access:function(e,n,r,i,s,o,u){var a,f=r==null,l=0,c=e.length;if(r&&typeof r=="object"){for(l in r)v.access(e,n,l,r[l],1,o,i);s=1}else if(i!==t){a=u===t&&v.isFunction(i),f&&(a?(a=n,n=function(e,t,n){return a.call(v(e),n)}):(n.call(e,i),n=null));if(n)for(;l<c;l++)n(e[l],r,a?i.call(e[l],l,n(e[l],r)):i,u);s=1}return s?e:f?n.call(e):c?n(e[0],r):o},now:function(){return(new Date).getTime()}}),v.ready.promise=function(t){if(!r){r=v.Deferred();if(i.readyState==="complete")setTimeout(v.ready,1);else if(i.addEventListener)i.addEventListener("DOMContentLoaded",A,!1),e.addEventListener("load",v.ready,!1);else{i.attachEvent("onreadystatechange",A),e.attachEvent("onload",v.ready);var n=!1;try{n=e.frameElement==null&&i.documentElement}catch(s){}n&&n.doScroll&&function o(){if(!v.isReady){try{n.doScroll("left")}catch(e){return setTimeout(o,50)}v.ready()}}()}}return r.promise(t)},v.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){O["[object "+t+"]"]=t.toLowerCase()}),n=v(i);var M={};v.Callbacks=function(e){e=typeof e=="string"?M[e]||_(e):v.extend({},e);var n,r,i,s,o,u,a=[],f=!e.once&&[],l=function(t){n=e.memory&&t,r=!0,u=s||0,s=0,o=a.length,i=!0;for(;a&&u<o;u++)if(a[u].apply(t[0],t[1])===!1&&e.stopOnFalse){n=!1;break}i=!1,a&&(f?f.length&&l(f.shift()):n?a=[]:c.disable())},c={add:function(){if(a){var t=a.length;(function r(t){v.each(t,function(t,n){var i=v.type(n);i==="function"?(!e.unique||!c.has(n))&&a.push(n):n&&n.length&&i!=="string"&&r(n)})})(arguments),i?o=a.length:n&&(s=t,l(n))}return this},remove:function(){return a&&v.each(arguments,function(e,t){var n;while((n=v.inArray(t,a,n))>-1)a.splice(n,1),i&&(n<=o&&o--,n<=u&&u--)}),this},has:function(e){return v.inArray(e,a)>-1},empty:function(){return a=[],this},disable:function(){return a=f=n=t,this},disabled:function(){return!a},lock:function(){return f=t,n||c.disable(),this},locked:function(){return!f},fireWith:function(e,t){return t=t||[],t=[e,t.slice?t.slice():t],a&&(!r||f)&&(i?f.push(t):l(t)),this},fire:function(){return c.fireWith(this,arguments),this},fired:function(){return!!r}};return c},v.extend({Deferred:function(e){var t=[["resolve","done",v.Callbacks("once memory"),"resolved"],["reject","fail",v.Callbacks("once memory"),"rejected"],["notify","progress",v.Callbacks("memory")]],n="pending",r={state:function(){return n},always:function(){return i.done(arguments).fail(arguments),this},then:function(){var e=arguments;return v.Deferred(function(n){v.each(t,function(t,r){var s=r[0],o=e[t];i[r[1]](v.isFunction(o)?function(){var e=o.apply(this,arguments);e&&v.isFunction(e.promise)?e.promise().done(n.resolve).fail(n.reject).progress(n.notify):n[s+"With"](this===i?n:this,[e])}:n[s])}),e=null}).promise()},promise:function(e){return e!=null?v.extend(e,r):r}},i={};return r.pipe=r.then,v.each(t,function(e,s){var o=s[2],u=s[3];r[s[1]]=o.add,u&&o.add(function(){n=u},t[e^1][2].disable,t[2][2].lock),i[s[0]]=o.fire,i[s[0]+"With"]=o.fireWith}),r.promise(i),e&&e.call(i,i),i},when:function(e){var t=0,n=l.call(arguments),r=n.length,i=r!==1||e&&v.isFunction(e.promise)?r:0,s=i===1?e:v.Deferred(),o=function(e,t,n){return function(r){t[e]=this,n[e]=arguments.length>1?l.call(arguments):r,n===u?s.notifyWith(t,n):--i||s.resolveWith(t,n)}},u,a,f;if(r>1){u=new Array(r),a=new Array(r),f=new Array(r);for(;t<r;t++)n[t]&&v.isFunction(n[t].promise)?n[t].promise().done(o(t,f,n)).fail(s.reject).progress(o(t,a,u)):--i}return i||s.resolveWith(f,n),s.promise()}}),v.support=function(){var t,n,r,s,o,u,a,f,l,c,h,p=i.createElement("div");p.setAttribute("className","t"),p.innerHTML=" <link/><table></table><a href='/a'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!r||!n.length)return{};s=i.createElement("select"),o=s.appendChild(i.createElement("option")),u=p.getElementsByTagName("input")[0],r.style.cssText="top:1px;float:left;opacity:.5",t={leadingWhitespace:p.firstChild.nodeType===3,tbody:!p.getElementsByTagName("tbody").length,htmlSerialize:!!p.getElementsByTagName("link").length,style:/top/.test(r.getAttribute("style")),hrefNormalized:r.getAttribute("href")==="/a",opacity:/^0.5/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:u.value==="on",optSelected:o.selected,getSetAttribute:p.className!=="t",enctype:!!i.createElement("form").enctype,html5Clone:i.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",boxModel:i.compatMode==="CSS1Compat",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,boxSizingReliable:!0,pixelPosition:!1},u.checked=!0,t.noCloneChecked=u.cloneNode(!0).checked,s.disabled=!0,t.optDisabled=!o.disabled;try{delete p.test}catch(d){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",h=function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick"),p.detachEvent("onclick",h)),u=i.createElement("input"),u.value="t",u.setAttribute("type","radio"),t.radioValue=u.value==="t",u.setAttribute("checked","checked"),u.setAttribute("name","t"),p.appendChild(u),a=i.createDocumentFragment(),a.appendChild(p.lastChild),t.checkClone=a.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=u.checked,a.removeChild(u),a.appendChild(p);if(p.attachEvent)for(l in{submit:!0,change:!0,focusin:!0})f="on"+l,c=f in p,c||(p.setAttribute(f,"return;"),c=typeof p[f]=="function"),t[l+"Bubbles"]=c;return v(function(){var n,r,s,o,u="padding:0;margin:0;border:0;display:block;overflow:hidden;",a=i.getElementsByTagName("body")[0];if(!a)return;n=i.createElement("div"),n.style.cssText="visibility:hidden;border:0;width:0;height:0;position:static;top:0;margin-top:1px",a.insertBefore(n,a.firstChild),r=i.createElement("div"),n.appendChild(r),r.innerHTML="<table><tr><td></td><td>t</td></tr></table>",s=r.getElementsByTagName("td"),s[0].style.cssText="padding:0;margin:0;border:0;display:none",c=s[0].offsetHeight===0,s[0].style.display="",s[1].style.display="none",t.reliableHiddenOffsets=c&&s[0].offsetHeight===0,r.innerHTML="",r.style.cssText="box-sizing:border-box;-moz-box-sizing:border-box;-webkit-box-sizing:border-box;padding:1px;border:1px;display:block;width:4px;margin-top:1%;position:absolute;top:1%;",t.boxSizing=r.offsetWidth===4,t.doesNotIncludeMarginInBodyOffset=a.offsetTop!==1,e.getComputedStyle&&(t.pixelPosition=(e.getComputedStyle(r,null)||{}).top!=="1%",t.boxSizingReliable=(e.getComputedStyle(r,null)||{width:"4px"}).width==="4px",o=i.createElement("div"),o.style.cssText=r.style.cssText=u,o.style.marginRight=o.style.width="0",r.style.width="1px",r.appendChild(o),t.reliableMarginRight=!parseFloat((e.getComputedStyle(o,null)||{}).marginRight)),typeof r.style.zoom!="undefined"&&(r.innerHTML="",r.style.cssText=u+"width:1px;padding:1px;display:inline;zoom:1",t.inlineBlockNeedsLayout=r.offsetWidth===3,r.style.display="block",r.style.overflow="visible",r.innerHTML="<div></div>",r.firstChild.style.width="5px",t.shrinkWrapBlocks=r.offsetWidth!==3,n.style.zoom=1),a.removeChild(n),n=r=s=o=null}),a.removeChild(p),n=r=s=o=u=a=p=null,t}();var D=/(?:\{[\s\S]*\}|\[[\s\S]*\])$/,P=/([A-Z])/g;v.extend({cache:{},deletedIds:[],uuid:0,expando:"jQuery"+(v.fn.jquery+Math.random()).replace(/\D/g,""),noData:{embed:!0,object:"clsid:D27CDB6E-AE6D-11cf-96B8-444553540000",applet:!0},hasData:function(e){return e=e.nodeType?v.cache[e[v.expando]]:e[v.expando],!!e&&!B(e)},data:function(e,n,r,i){if(!v.acceptData(e))return;var s,o,u=v.expando,a=typeof n=="string",f=e.nodeType,l=f?v.cache:e,c=f?e[u]:e[u]&&u;if((!c||!l[c]||!i&&!l[c].data)&&a&&r===t)return;c||(f?e[u]=c=v.deletedIds.pop()||v.guid++:c=u),l[c]||(l[c]={},f||(l[c].toJSON=v.noop));if(typeof n=="object"||typeof n=="function")i?l[c]=v.extend(l[c],n):l[c].data=v.extend(l[c].data,n);return s=l[c],i||(s.data||(s.data={}),s=s.data),r!==t&&(s[v.camelCase(n)]=r),a?(o=s[n],o==null&&(o=s[v.camelCase(n)])):o=s,o},removeData:function(e,t,n){if(!v.acceptData(e))return;var r,i,s,o=e.nodeType,u=o?v.cache:e,a=o?e[v.expando]:v.expando;if(!u[a])return;if(t){r=n?u[a]:u[a].data;if(r){v.isArray(t)||(t in r?t=[t]:(t=v.camelCase(t),t in r?t=[t]:t=t.split(" ")));for(i=0,s=t.length;i<s;i++)delete r[t[i]];if(!(n?B:v.isEmptyObject)(r))return}}if(!n){delete u[a].data;if(!B(u[a]))return}o?v.cleanData([e],!0):v.support.deleteExpando||u!=u.window?delete u[a]:u[a]=null},_data:function(e,t,n){return v.data(e,t,n,!0)},acceptData:function(e){var t=e.nodeName&&v.noData[e.nodeName.toLowerCase()];return!t||t!==!0&&e.getAttribute("classid")===t}}),v.fn.extend({data:function(e,n){var r,i,s,o,u,a=this[0],f=0,l=null;if(e===t){if(this.length){l=v.data(a);if(a.nodeType===1&&!v._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")||(o=v.camelCase(o.substring(5)),H(a,o,l[o]));v._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){v.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",v.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=v.data(a,e),l=H(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=v(this);t.triggerHandler("setData"+i,r),v.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){v.removeData(this,e)})}}),v.extend({queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=v._data(e,t),n&&(!r||v.isArray(n)?r=v._data(e,t,v.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=v.queue(e,t),r=n.length,i=n.shift(),s=v._queueHooks(e,t),o=function(){v.dequeue(e,t)};i==="inprogress"&&(i=n.shift(),r--),i&&(t==="fx"&&n.unshift("inprogress"),delete s.stop,i.call(e,o,s)),!r&&s&&s.empty.fire()},_queueHooks:function(e,t){var n=t+"queueHooks";return v._data(e,n)||v._data(e,n,{empty:v.Callbacks("once memory").add(function(){v.removeData(e,t+"queue",!0),v.removeData(e,n,!0)})})}}),v.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?v.queue(this[0],e):n===t?this:this.each(function(){var t=v.queue(this,e,n);v._queueHooks(this,e),e==="fx"&&t[0]!=="inprogress"&&v.dequeue(this,e)})},dequeue:function(e){return this.each(function(){v.dequeue(this,e)})},delay:function(e,t){return e=v.fx?v.fx.speeds[e]||e:e,t=t||"fx",this.queue(t,function(t,n){var r=setTimeout(t,e);n.stop=function(){clearTimeout(r)}})},clearQueue:function(e){return this.queue(e||"fx",[])},promise:function(e,n){var r,i=1,s=v.Deferred(),o=this,u=this.length,a=function(){--i||s.resolveWith(o,[o])};typeof e!="string"&&(n=e,e=t),e=e||"fx";while(u--)r=v._data(o[u],e+"queueHooks"),r&&r.empty&&(i++,r.empty.add(a));return a(),s.promise(n)}});var j,F,I,q=/[\t\r\n]/g,R=/\r/g,U=/^(?:button|input)$/i,z=/^(?:button|input|object|select|textarea)$/i,W=/^a(?:rea|)$/i,X=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,V=v.support.getSetAttribute;v.fn.extend({attr:function(e,t){return v.access(this,v.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){v.removeAttr(this,e)})},prop:function(e,t){return v.access(this,v.prop,e,t,arguments.length>1)},removeProp:function(e){return e=v.propFix[e]||e,this.each(function(){try{this[e]=t,delete this[e]}catch(n){}})},addClass:function(e){var t,n,r,i,s,o,u;if(v.isFunction(e))return this.each(function(t){v(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(y);for(n=0,r=this.length;n<r;n++){i=this[n];if(i.nodeType===1)if(!i.className&&t.length===1)i.className=e;else{s=" "+i.className+" ";for(o=0,u=t.length;o<u;o++)s.indexOf(" "+t[o]+" ")<0&&(s+=t[o]+" ");i.className=v.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(v.isFunction(e))return this.each(function(t){v(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(y);for(u=0,a=this.length;u<a;u++){i=this[u];if(i.nodeType===1&&i.className){r=(" "+i.className+" ").replace(q," ");for(s=0,o=n.length;s<o;s++)while(r.indexOf(" "+n[s]+" ")>=0)r=r.replace(" "+n[s]+" "," ");i.className=e?v.trim(r):""}}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return v.isFunction(e)?this.each(function(n){v(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=v(this),u=t,a=e.split(y);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&v._data(this,"__className__",this.className),this.className=this.className||e===!1?"":v._data(this,"__className__")||""})},hasClass:function(e){var t=" "+e+" ",n=0,r=this.length;for(;n<r;n++)if(this[n].nodeType===1&&(" "+this[n].className+" ").replace(q," ").indexOf(t)>=0)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!arguments.length){if(s)return n=v.valHooks[s.type]||v.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(R,""):r==null?"":r);return}return i=v.isFunction(e),this.each(function(r){var s,o=v(this);if(this.nodeType!==1)return;i?s=e.call(this,r,o.val()):s=e,s==null?s="":typeof s=="number"?s+="":v.isArray(s)&&(s=v.map(s,function(e){return e==null?"":e+""})),n=v.valHooks[this.type]||v.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,s,"value")===t)this.value=s})}}),v.extend({valHooks:{option:{get:function(e){var t=e.attributes.value;return!t||t.specified?e.value:e.text}},select:{get:function(e){var t,n,r=e.options,i=e.selectedIndex,s=e.type==="select-one"||i<0,o=s?null:[],u=s?i+1:r.length,a=i<0?u:s?i:0;for(;a<u;a++){n=r[a];if((n.selected||a===i)&&(v.support.optDisabled?!n.disabled:n.getAttribute("disabled")===null)&&(!n.parentNode.disabled||!v.nodeName(n.parentNode,"optgroup"))){t=v(n).val();if(s)return t;o.push(t)}}return o},set:function(e,t){var n=v.makeArray(t);return v(e).find("option").each(function(){this.selected=v.inArray(v(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!e||a===3||a===8||a===2)return;if(i&&v.isFunction(v.fn[n]))return v(e)[n](r);if(typeof e.getAttribute=="undefined")return v.prop(e,n,r);u=a!==1||!v.isXMLDoc(e),u&&(n=n.toLowerCase(),o=v.attrHooks[n]||(X.test(n)?F:j));if(r!==t){if(r===null){v.removeAttr(e,n);return}return o&&"set"in o&&u&&(s=o.set(e,r,n))!==t?s:(e.setAttribute(n,r+""),r)}return o&&"get"in o&&u&&(s=o.get(e,n))!==null?s:(s=e.getAttribute(n),s===null?t:s)},removeAttr:function(e,t){var n,r,i,s,o=0;if(t&&e.nodeType===1){r=t.split(y);for(;o<r.length;o++)i=r[o],i&&(n=v.propFix[i]||i,s=X.test(i),s||v.attr(e,i,""),e.removeAttribute(V?i:n),s&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(U.test(e.nodeName)&&e.parentNode)v.error("type property can't be changed");else if(!v.support.radioValue&&t==="radio"&&v.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return j&&v.nodeName(e,"button")?j.get(e,t):t in e?e.value:null},set:function(e,t,n){if(j&&v.nodeName(e,"button"))return j.set(e,t,n);e.value=t}}},propFix:{tabindex:"tabIndex",readonly:"readOnly","for":"htmlFor","class":"className",maxlength:"maxLength",cellspacing:"cellSpacing",cellpadding:"cellPadding",rowspan:"rowSpan",colspan:"colSpan",usemap:"useMap",frameborder:"frameBorder",contenteditable:"contentEditable"},prop:function(e,n,r){var i,s,o,u=e.nodeType;if(!e||u===3||u===8||u===2)return;return o=u!==1||!v.isXMLDoc(e),o&&(n=v.propFix[n]||n,s=v.propHooks[n]),r!==t?s&&"set"in s&&(i=s.set(e,r,n))!==t?i:e[n]=r:s&&"get"in s&&(i=s.get(e,n))!==null?i:e[n]},propHooks:{tabIndex:{get:function(e){var n=e.getAttributeNode("tabindex");return n&&n.specified?parseInt(n.value,10):z.test(e.nodeName)||W.test(e.nodeName)&&e.href?0:t}}}}),F={get:function(e,n){var r,i=v.prop(e,n);return i===!0||typeof i!="boolean"&&(r=e.getAttributeNode(n))&&r.nodeValue!==!1?n.toLowerCase():t},set:function(e,t,n){var r;return t===!1?v.removeAttr(e,n):(r=v.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},V||(I={name:!0,id:!0,coords:!0},j=v.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(I[n]?r.value!=="":r.specified)?r.value:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=i.createAttribute(n),e.setAttributeNode(r)),r.value=t+""}},v.each(["width","height"],function(e,t){v.attrHooks[t]=v.extend(v.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),v.attrHooks.contenteditable={get:j.get,set:function(e,t,n){t===""&&(t="false"),j.set(e,t,n)}}),v.support.hrefNormalized||v.each(["href","src","width","height"],function(e,n){v.attrHooks[n]=v.extend(v.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),v.support.style||(v.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=t+""}}),v.support.optSelected||(v.propHooks.selected=v.extend(v.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),v.support.enctype||(v.propFix.enctype="encoding"),v.support.checkOn||v.each(["radio","checkbox"],function(){v.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),v.each(["radio","checkbox"],function(){v.valHooks[this]=v.extend(v.valHooks[this],{set:function(e,t){if(v.isArray(t))return e.checked=v.inArray(v(e).val(),t)>=0}})});var $=/^(?:textarea|input|select)$/i,J=/^([^\.]*|)(?:\.(.+)|)$/,K=/(?:^|\s)hover(\.\S+|)\b/,Q=/^key/,G=/^(?:mouse|contextmenu)|click/,Y=/^(?:focusinfocus|focusoutblur)$/,Z=function(e){return v.event.special.hover?e:e.replace(K,"mouseenter$1 mouseleave$1")};v.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,m,g;if(e.nodeType===3||e.nodeType===8||!n||!r||!(o=v._data(e)))return;r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=v.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof v=="undefined"||!!e&&v.event.triggered===e.type?t:v.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=v.trim(Z(n)).split(" ");for(f=0;f<n.length;f++){l=J.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=v.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=v.event.special[c]||{},p=v.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,needsContext:s&&v.expr.match.needsContext.test(s),namespace:h.join(".")},d),m=a[c];if(!m){m=a[c]=[],m.delegateCount=0;if(!g.setup||g.setup.call(e,i,h,u)===!1)e.addEventListener?e.addEventListener(c,u,!1):e.attachEvent&&e.attachEvent("on"+c,u)}g.add&&(g.add.call(e,p),p.handler.guid||(p.handler.guid=r.guid)),s?m.splice(m.delegateCount++,0,p):m.push(p),v.event.global[c]=!0}e=null},global:{},remove:function(e,t,n,r,i){var s,o,u,a,f,l,c,h,p,d,m,g=v.hasData(e)&&v._data(e);if(!g||!(h=g.events))return;t=v.trim(Z(t||"")).split(" ");for(s=0;s<t.length;s++){o=J.exec(t[s])||[],u=a=o[1],f=o[2];if(!u){for(u in h)v.event.remove(e,u+t[s],n,r,!0);continue}p=v.event.special[u]||{},u=(r?p.delegateType:p.bindType)||u,d=h[u]||[],l=d.length,f=f?new RegExp("(^|\\.)"+f.split(".").sort().join("\\.(?:.*\\.|)")+"(\\.|$)"):null;for(c=0;c<d.length;c++)m=d[c],(i||a===m.origType)&&(!n||n.guid===m.guid)&&(!f||f.test(m.namespace))&&(!r||r===m.selector||r==="**"&&m.selector)&&(d.splice(c--,1),m.selector&&d.delegateCount--,p.remove&&p.remove.call(e,m));d.length===0&&l!==d.length&&((!p.teardown||p.teardown.call(e,f,g.handle)===!1)&&v.removeEvent(e,u,g.handle),delete h[u])}v.isEmptyObject(h)&&(delete g.handle,v.removeData(e,"events",!0))},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,s,o){if(!s||s.nodeType!==3&&s.nodeType!==8){var u,a,f,l,c,h,p,d,m,g,y=n.type||n,b=[];if(Y.test(y+v.event.triggered))return;y.indexOf("!")>=0&&(y=y.slice(0,-1),a=!0),y.indexOf(".")>=0&&(b=y.split("."),y=b.shift(),b.sort());if((!s||v.event.customEvent[y])&&!v.event.global[y])return;n=typeof n=="object"?n[v.expando]?n:new v.Event(y,n):new v.Event(y),n.type=y,n.isTrigger=!0,n.exclusive=a,n.namespace=b.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+b.join("\\.(?:.*\\.|)")+"(\\.|$)"):null,h=y.indexOf(":")<0?"on"+y:"";if(!s){u=v.cache;for(f in u)u[f].events&&u[f].events[y]&&v.event.trigger(n,r,u[f].handle.elem,!0);return}n.result=t,n.target||(n.target=s),r=r!=null?v.makeArray(r):[],r.unshift(n),p=v.event.special[y]||{};if(p.trigger&&p.trigger.apply(s,r)===!1)return;m=[[s,p.bindType||y]];if(!o&&!p.noBubble&&!v.isWindow(s)){g=p.delegateType||y,l=Y.test(g+y)?s:s.parentNode;for(c=s;l;l=l.parentNode)m.push([l,g]),c=l;c===(s.ownerDocument||i)&&m.push([c.defaultView||c.parentWindow||e,g])}for(f=0;f<m.length&&!n.isPropagationStopped();f++)l=m[f][0],n.type=m[f][1],d=(v._data(l,"events")||{})[n.type]&&v._data(l,"handle"),d&&d.apply(l,r),d=h&&l[h],d&&v.acceptData(l)&&d.apply&&d.apply(l,r)===!1&&n.preventDefault();return n.type=y,!o&&!n.isDefaultPrevented()&&(!p._default||p._default.apply(s.ownerDocument,r)===!1)&&(y!=="click"||!v.nodeName(s,"a"))&&v.acceptData(s)&&h&&s[y]&&(y!=="focus"&&y!=="blur"||n.target.offsetWidth!==0)&&!v.isWindow(s)&&(c=s[h],c&&(s[h]=null),v.event.triggered=y,s[y](),v.event.triggered=t,c&&(s[h]=c)),n.result}return},dispatch:function(n){n=v.event.fix(n||e.event);var r,i,s,o,u,a,f,c,h,p,d=(v._data(this,"events")||{})[n.type]||[],m=d.delegateCount,g=l.call(arguments),y=!n.exclusive&&!n.namespace,b=v.event.special[n.type]||{},w=[];g[0]=n,n.delegateTarget=this;if(b.preDispatch&&b.preDispatch.call(this,n)===!1)return;if(m&&(!n.button||n.type!=="click"))for(s=n.target;s!=this;s=s.parentNode||this)if(s.disabled!==!0||n.type!=="click"){u={},f=[];for(r=0;r<m;r++)c=d[r],h=c.selector,u[h]===t&&(u[h]=c.needsContext?v(h,this).index(s)>=0:v.find(h,this,null,[s]).length),u[h]&&f.push(c);f.length&&w.push({elem:s,matches:f})}d.length>m&&w.push({elem:this,matches:d.slice(m)});for(r=0;r<w.length&&!n.isPropagationStopped();r++){a=w[r],n.currentTarget=a.elem;for(i=0;i<a.matches.length&&!n.isImmediatePropagationStopped();i++){c=a.matches[i];if(y||!n.namespace&&!c.namespace||n.namespace_re&&n.namespace_re.test(c.namespace))n.data=c.data,n.handleObj=c,o=((v.event.special[c.origType]||{}).handle||c.handler).apply(a.elem,g),o!==t&&(n.result=o,o===!1&&(n.preventDefault(),n.stopPropagation()))}}return b.postDispatch&&b.postDispatch.call(this,n),n.result},props:"attrChange attrName relatedNode srcElement altKey bubbles cancelable ctrlKey currentTarget eventPhase metaKey relatedTarget shiftKey target timeStamp view which".split(" "),fixHooks:{},keyHooks:{props:"char charCode key keyCode".split(" "),filter:function(e,t){return e.which==null&&(e.which=t.charCode!=null?t.charCode:t.keyCode),e}},mouseHooks:{props:"button buttons clientX clientY fromElement offsetX offsetY pageX pageY screenX screenY toElement".split(" "),filter:function(e,n){var r,s,o,u=n.button,a=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||i,s=r.documentElement,o=r.body,e.pageX=n.clientX+(s&&s.scrollLeft||o&&o.scrollLeft||0)-(s&&s.clientLeft||o&&o.clientLeft||0),e.pageY=n.clientY+(s&&s.scrollTop||o&&o.scrollTop||0)-(s&&s.clientTop||o&&o.clientTop||0)),!e.relatedTarget&&a&&(e.relatedTarget=a===e.target?n.toElement:a),!e.which&&u!==t&&(e.which=u&1?1:u&2?3:u&4?2:0),e}},fix:function(e){if(e[v.expando])return e;var t,n,r=e,s=v.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=v.Event(r);for(t=o.length;t;)n=o[--t],e[n]=r[n];return e.target||(e.target=r.srcElement||i),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey=!!e.metaKey,s.filter?s.filter(e,r):e},special:{load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){v.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=v.extend(new v.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?v.event.trigger(i,null,t):v.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},v.event.handle=v.event.dispatch,v.removeEvent=i.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){var r="on"+t;e.detachEvent&&(typeof e[r]=="undefined"&&(e[r]=null),e.detachEvent(r,n))},v.Event=function(e,t){if(!(this instanceof v.Event))return new v.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?tt:et):this.type=e,t&&v.extend(this,t),this.timeStamp=e&&e.timeStamp||v.now(),this[v.expando]=!0},v.Event.prototype={preventDefault:function(){this.isDefaultPrevented=tt;var e=this.originalEvent;if(!e)return;e.preventDefault?e.preventDefault():e.returnValue=!1},stopPropagation:function(){this.isPropagationStopped=tt;var e=this.originalEvent;if(!e)return;e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=tt,this.stopPropagation()},isDefaultPrevented:et,isPropagationStopped:et,isImmediatePropagationStopped:et},v.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){v.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n,r=this,i=e.relatedTarget,s=e.handleObj,o=s.selector;if(!i||i!==r&&!v.contains(r,i))e.type=s.origType,n=s.handler.apply(this,arguments),e.type=t;return n}}}),v.support.submitBubbles||(v.event.special.submit={setup:function(){if(v.nodeName(this,"form"))return!1;v.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=v.nodeName(n,"input")||v.nodeName(n,"button")?n.form:t;r&&!v._data(r,"_submit_attached")&&(v.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),v._data(r,"_submit_attached",!0))})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&v.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(v.nodeName(this,"form"))return!1;v.event.remove(this,"._submit")}}),v.support.changeBubbles||(v.event.special.change={setup:function(){if($.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")v.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),v.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1),v.event.simulate("change",this,e,!0)});return!1}v.event.add(this,"beforeactivate._change",function(e){var t=e.target;$.test(t.nodeName)&&!v._data(t,"_change_attached")&&(v.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&v.event.simulate("change",this.parentNode,e,!0)}),v._data(t,"_change_attached",!0))})},handle:function(e){var t=e.target;if(this!==t||e.isSimulated||e.isTrigger||t.type!=="radio"&&t.type!=="checkbox")return e.handleObj.handler.apply(this,arguments)},teardown:function(){return v.event.remove(this,"._change"),!$.test(this.nodeName)}}),v.support.focusinBubbles||v.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){v.event.simulate(t,e.target,v.event.fix(e),!0)};v.event.special[t]={setup:function(){n++===0&&i.addEventListener(e,r,!0)},teardown:function(){--n===0&&i.removeEventListener(e,r,!0)}}}),v.fn.extend({on:function(e,n,r,i,s){var o,u;if(typeof e=="object"){typeof n!="string"&&(r=r||n,n=t);for(u in e)this.on(u,n,r,e[u],s);return this}r==null&&i==null?(i=n,r=n=t):i==null&&(typeof n=="string"?(i=r,r=t):(i=r,r=n,n=t));if(i===!1)i=et;else if(!i)return this;return s===1&&(o=i,i=function(e){return v().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=v.guid++)),this.each(function(){v.event.add(this,e,i,r,n)})},one:function(e,t,n,r){return this.on(e,t,n,r,1)},off:function(e,n,r){var i,s;if(e&&e.preventDefault&&e.handleObj)return i=e.handleObj,v(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this;if(typeof e=="object"){for(s in e)this.off(s,n,e[s]);return this}if(n===!1||typeof n=="function")r=n,n=t;return r===!1&&(r=et),this.each(function(){v.event.remove(this,e,r,n)})},bind:function(e,t,n){return this.on(e,null,t,n)},unbind:function(e,t){return this.off(e,null,t)},live:function(e,t,n){return v(this.context).on(e,this.selector,t,n),this},die:function(e,t){return v(this.context).off(e,this.selector||"**",t),this},delegate:function(e,t,n,r){return this.on(t,e,n,r)},undelegate:function(e,t,n){return arguments.length===1?this.off(e,"**"):this.off(t,e||"**",n)},trigger:function(e,t){return this.each(function(){v.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return v.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||v.guid++,r=0,i=function(n){var i=(v._data(this,"lastToggle"+e.guid)||0)%r;return v._data(this,"lastToggle"+e.guid,i+1),n.preventDefault(),t[i].apply(this,arguments)||!1};i.guid=n;while(r<t.length)t[r++].guid=n;return this.click(i)},hover:function(e,t){return this.mouseenter(e).mouseleave(t||e)}}),v.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error contextmenu".split(" "),function(e,t){v.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},Q.test(t)&&(v.event.fixHooks[t]=v.event.keyHooks),G.test(t)&&(v.event.fixHooks[t]=v.event.mouseHooks)}),function(e,t){function nt(e,t,n,r){n=n||[],t=t||g;var i,s,a,f,l=t.nodeType;if(!e||typeof e!="string")return n;if(l!==1&&l!==9)return[];a=o(t);if(!a&&!r)if(i=R.exec(e))if(f=i[1]){if(l===9){s=t.getElementById(f);if(!s||!s.parentNode)return n;if(s.id===f)return n.push(s),n}else if(t.ownerDocument&&(s=t.ownerDocument.getElementById(f))&&u(t,s)&&s.id===f)return n.push(s),n}else{if(i[2])return S.apply(n,x.call(t.getElementsByTagName(e),0)),n;if((f=i[3])&&Z&&t.getElementsByClassName)return S.apply(n,x.call(t.getElementsByClassName(f),0)),n}return vt(e.replace(j,"$1"),t,n,r,a)}function rt(e){return function(t){var n=t.nodeName.toLowerCase();return n==="input"&&t.type===e}}function it(e){return function(t){var n=t.nodeName.toLowerCase();return(n==="input"||n==="button")&&t.type===e}}function st(e){return N(function(t){return t=+t,N(function(n,r){var i,s=e([],n.length,t),o=s.length;while(o--)n[i=s[o]]&&(n[i]=!(r[i]=n[i]))})})}function ot(e,t,n){if(e===t)return n;var r=e.nextSibling;while(r){if(r===t)return-1;r=r.nextSibling}return 1}function ut(e,t){var n,r,s,o,u,a,f,l=L[d][e+" "];if(l)return t?0:l.slice(0);u=e,a=[],f=i.preFilter;while(u){if(!n||(r=F.exec(u)))r&&(u=u.slice(r[0].length)||u),a.push(s=[]);n=!1;if(r=I.exec(u))s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=r[0].replace(j," ");for(o in i.filter)(r=J[o].exec(u))&&(!f[o]||(r=f[o](r)))&&(s.push(n=new m(r.shift())),u=u.slice(n.length),n.type=o,n.matches=r);if(!n)break}return t?u.length:u?nt.error(e):L(e,a).slice(0)}function at(e,t,r){var i=t.dir,s=r&&t.dir==="parentNode",o=w++;return t.first?function(t,n,r){while(t=t[i])if(s||t.nodeType===1)return e(t,n,r)}:function(t,r,u){if(!u){var a,f=b+" "+o+" ",l=f+n;while(t=t[i])if(s||t.nodeType===1){if((a=t[d])===l)return t.sizset;if(typeof a=="string"&&a.indexOf(f)===0){if(t.sizset)return t}else{t[d]=l;if(e(t,r,u))return t.sizset=!0,t;t.sizset=!1}}}else while(t=t[i])if(s||t.nodeType===1)if(e(t,r,u))return t}}function ft(e){return e.length>1?function(t,n,r){var i=e.length;while(i--)if(!e[i](t,n,r))return!1;return!0}:e[0]}function lt(e,t,n,r,i){var s,o=[],u=0,a=e.length,f=t!=null;for(;u<a;u++)if(s=e[u])if(!n||n(s,r,i))o.push(s),f&&t.push(u);return o}function ct(e,t,n,r,i,s){return r&&!r[d]&&(r=ct(r)),i&&!i[d]&&(i=ct(i,s)),N(function(s,o,u,a){var f,l,c,h=[],p=[],d=o.length,v=s||dt(t||"*",u.nodeType?[u]:u,[]),m=e&&(s||!t)?lt(v,h,e,u,a):v,g=n?i||(s?e:d||r)?[]:o:m;n&&n(m,g,u,a);if(r){f=lt(g,p),r(f,[],u,a),l=f.length;while(l--)if(c=f[l])g[p[l]]=!(m[p[l]]=c)}if(s){if(i||e){if(i){f=[],l=g.length;while(l--)(c=g[l])&&f.push(m[l]=c);i(null,g=[],f,a)}l=g.length;while(l--)(c=g[l])&&(f=i?T.call(s,c):h[l])>-1&&(s[f]=!(o[f]=c))}}else g=lt(g===o?g.splice(d,g.length):g),i?i(null,o,g,a):S.apply(o,g)})}function ht(e){var t,n,r,s=e.length,o=i.relative[e[0].type],u=o||i.relative[" "],a=o?1:0,f=at(function(e){return e===t},u,!0),l=at(function(e){return T.call(t,e)>-1},u,!0),h=[function(e,n,r){return!o&&(r||n!==c)||((t=n).nodeType?f(e,n,r):l(e,n,r))}];for(;a<s;a++)if(n=i.relative[e[a].type])h=[at(ft(h),n)];else{n=i.filter[e[a].type].apply(null,e[a].matches);if(n[d]){r=++a;for(;r<s;r++)if(i.relative[e[r].type])break;return ct(a>1&&ft(h),a>1&&e.slice(0,a-1).join("").replace(j,"$1"),n,a<r&&ht(e.slice(a,r)),r<s&&ht(e=e.slice(r)),r<s&&e.join(""))}h.push(n)}return ft(h)}function pt(e,t){var r=t.length>0,s=e.length>0,o=function(u,a,f,l,h){var p,d,v,m=[],y=0,w="0",x=u&&[],T=h!=null,N=c,C=u||s&&i.find.TAG("*",h&&a.parentNode||a),k=b+=N==null?1:Math.E;T&&(c=a!==g&&a,n=o.el);for(;(p=C[w])!=null;w++){if(s&&p){for(d=0;v=e[d];d++)if(v(p,a,f)){l.push(p);break}T&&(b=k,n=++o.el)}r&&((p=!v&&p)&&y--,u&&x.push(p))}y+=w;if(r&&w!==y){for(d=0;v=t[d];d++)v(x,m,a,f);if(u){if(y>0)while(w--)!x[w]&&!m[w]&&(m[w]=E.call(l));m=lt(m)}S.apply(l,m),T&&!u&&m.length>0&&y+t.length>1&&nt.uniqueSort(l)}return T&&(b=k,c=N),x};return o.el=0,r?N(o):o}function dt(e,t,n){var r=0,i=t.length;for(;r<i;r++)nt(e,t[r],n);return n}function vt(e,t,n,r,s){var o,u,f,l,c,h=ut(e),p=h.length;if(!r&&h.length===1){u=h[0]=h[0].slice(0);if(u.length>2&&(f=u[0]).type==="ID"&&t.nodeType===9&&!s&&i.relative[u[1].type]){t=i.find.ID(f.matches[0].replace($,""),t,s)[0];if(!t)return n;e=e.slice(u.shift().length)}for(o=J.POS.test(e)?-1:u.length-1;o>=0;o--){f=u[o];if(i.relative[l=f.type])break;if(c=i.find[l])if(r=c(f.matches[0].replace($,""),z.test(u[0].type)&&t.parentNode||t,s)){u.splice(o,1),e=r.length&&u.join("");if(!e)return S.apply(n,x.call(r,0)),n;break}}}return a(e,h)(r,t,s,n,z.test(e)),n}function mt(){}var n,r,i,s,o,u,a,f,l,c,h=!0,p="undefined",d=("sizcache"+Math.random()).replace(".",""),m=String,g=e.document,y=g.documentElement,b=0,w=0,E=[].pop,S=[].push,x=[].slice,T=[].indexOf||function(e){var t=0,n=this.length;for(;t<n;t++)if(this[t]===e)return t;return-1},N=function(e,t){return e[d]=t==null||t,e},C=function(){var e={},t=[];return N(function(n,r){return t.push(n)>i.cacheLength&&delete e[t.shift()],e[n+" "]=r},e)},k=C(),L=C(),A=C(),O="[\\x20\\t\\r\\n\\f]",M="(?:\\\\.|[-\\w]|[^\\x00-\\xa0])+",_=M.replace("w","w#"),D="([*^$|!~]?=)",P="\\["+O+"*("+M+")"+O+"*(?:"+D+O+"*(?:(['\"])((?:\\\\.|[^\\\\])*?)\\3|("+_+")|)|)"+O+"*\\]",H=":("+M+")(?:\\((?:(['\"])((?:\\\\.|[^\\\\])*?)\\2|([^()[\\]]*|(?:(?:"+P+")|[^:]|\\\\.)*|.*))\\)|)",B=":(even|odd|eq|gt|lt|nth|first|last)(?:\\("+O+"*((?:-\\d)?\\d*)"+O+"*\\)|)(?=[^-]|$)",j=new RegExp("^"+O+"+|((?:^|[^\\\\])(?:\\\\.)*)"+O+"+$","g"),F=new RegExp("^"+O+"*,"+O+"*"),I=new RegExp("^"+O+"*([\\x20\\t\\r\\n\\f>+~])"+O+"*"),q=new RegExp(H),R=/^(?:#([\w\-]+)|(\w+)|\.([\w\-]+))$/,U=/^:not/,z=/[\x20\t\r\n\f]*[+~]/,W=/:not\($/,X=/h\d/i,V=/input|select|textarea|button/i,$=/\\(?!\\)/g,J={ID:new RegExp("^#("+M+")"),CLASS:new RegExp("^\\.("+M+")"),NAME:new RegExp("^\\[name=['\"]?("+M+")['\"]?\\]"),TAG:new RegExp("^("+M.replace("w","w*")+")"),ATTR:new RegExp("^"+P),PSEUDO:new RegExp("^"+H),POS:new RegExp(B,"i"),CHILD:new RegExp("^:(only|nth|first|last)-child(?:\\("+O+"*(even|odd|(([+-]|)(\\d*)n|)"+O+"*(?:([+-]|)"+O+"*(\\d+)|))"+O+"*\\)|)","i"),needsContext:new RegExp("^"+O+"*[>+~]|"+B,"i")},K=function(e){var t=g.createElement("div");try{return e(t)}catch(n){return!1}finally{t=null}},Q=K(function(e){return e.appendChild(g.createComment("")),!e.getElementsByTagName("*").length}),G=K(function(e){return e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!==p&&e.firstChild.getAttribute("href")==="#"}),Y=K(function(e){e.innerHTML="<select></select>";var t=typeof e.lastChild.getAttribute("multiple");return t!=="boolean"&&t!=="string"}),Z=K(function(e){return e.innerHTML="<div class='hidden e'></div><div class='hidden'></div>",!e.getElementsByClassName||!e.getElementsByClassName("e").length?!1:(e.lastChild.className="e",e.getElementsByClassName("e").length===2)}),et=K(function(e){e.id=d+0,e.innerHTML="<a name='"+d+"'></a><div name='"+d+"'></div>",y.insertBefore(e,y.firstChild);var t=g.getElementsByName&&g.getElementsByName(d).length===2+g.getElementsByName(d+0).length;return r=!g.getElementById(d),y.removeChild(e),t});try{x.call(y.childNodes,0)[0].nodeType}catch(tt){x=function(e){var t,n=[];for(;t=this[e];e++)n.push(t);return n}}nt.matches=function(e,t){return nt(e,null,null,t)},nt.matchesSelector=function(e,t){return nt(t,null,null,[e]).length>0},s=nt.getText=function(e){var t,n="",r=0,i=e.nodeType;if(i){if(i===1||i===9||i===11){if(typeof e.textContent=="string")return e.textContent;for(e=e.firstChild;e;e=e.nextSibling)n+=s(e)}else if(i===3||i===4)return e.nodeValue}else for(;t=e[r];r++)n+=s(t);return n},o=nt.isXML=function(e){var t=e&&(e.ownerDocument||e).documentElement;return t?t.nodeName!=="HTML":!1},u=nt.contains=y.contains?function(e,t){var n=e.nodeType===9?e.documentElement:e,r=t&&t.parentNode;return e===r||!!(r&&r.nodeType===1&&n.contains&&n.contains(r))}:y.compareDocumentPosition?function(e,t){return t&&!!(e.compareDocumentPosition(t)&16)}:function(e,t){while(t=t.parentNode)if(t===e)return!0;return!1},nt.attr=function(e,t){var n,r=o(e);return r||(t=t.toLowerCase()),(n=i.attrHandle[t])?n(e):r||Y?e.getAttribute(t):(n=e.getAttributeNode(t),n?typeof e[t]=="boolean"?e[t]?t:null:n.specified?n.value:null:null)},i=nt.selectors={cacheLength:50,createPseudo:N,match:J,attrHandle:G?{}:{href:function(e){return e.getAttribute("href",2)},type:function(e){return e.getAttribute("type")}},find:{ID:r?function(e,t,n){if(typeof t.getElementById!==p&&!n){var r=t.getElementById(e);return r&&r.parentNode?[r]:[]}}:function(e,n,r){if(typeof n.getElementById!==p&&!r){var i=n.getElementById(e);return i?i.id===e||typeof i.getAttributeNode!==p&&i.getAttributeNode("id").value===e?[i]:t:[]}},TAG:Q?function(e,t){if(typeof t.getElementsByTagName!==p)return t.getElementsByTagName(e)}:function(e,t){var n=t.getElementsByTagName(e);if(e==="*"){var r,i=[],s=0;for(;r=n[s];s++)r.nodeType===1&&i.push(r);return i}return n},NAME:et&&function(e,t){if(typeof t.getElementsByName!==p)return t.getElementsByName(name)},CLASS:Z&&function(e,t,n){if(typeof t.getElementsByClassName!==p&&!n)return t.getElementsByClassName(e)}},relative:{">":{dir:"parentNode",first:!0}," ":{dir:"parentNode"},"+":{dir:"previousSibling",first:!0},"~":{dir:"previousSibling"}},preFilter:{ATTR:function(e){return e[1]=e[1].replace($,""),e[3]=(e[4]||e[5]||"").replace($,""),e[2]==="~="&&(e[3]=" "+e[3]+" "),e.slice(0,4)},CHILD:function(e){return e[1]=e[1].toLowerCase(),e[1]==="nth"?(e[2]||nt.error(e[0]),e[3]=+(e[3]?e[4]+(e[5]||1):2*(e[2]==="even"||e[2]==="odd")),e[4]=+(e[6]+e[7]||e[2]==="odd")):e[2]&&nt.error(e[0]),e},PSEUDO:function(e){var t,n;if(J.CHILD.test(e[0]))return null;if(e[3])e[2]=e[3];else if(t=e[4])q.test(t)&&(n=ut(t,!0))&&(n=t.indexOf(")",t.length-n)-t.length)&&(t=t.slice(0,n),e[0]=e[0].slice(0,n)),e[2]=t;return e.slice(0,3)}},filter:{ID:r?function(e){return e=e.replace($,""),function(t){return t.getAttribute("id")===e}}:function(e){return e=e.replace($,""),function(t){var n=typeof t.getAttributeNode!==p&&t.getAttributeNode("id");return n&&n.value===e}},TAG:function(e){return e==="*"?function(){return!0}:(e=e.replace($,"").toLowerCase(),function(t){return t.nodeName&&t.nodeName.toLowerCase()===e})},CLASS:function(e){var t=k[d][e+" "];return t||(t=new RegExp("(^|"+O+")"+e+"("+O+"|$)"))&&k(e,function(e){return t.test(e.className||typeof e.getAttribute!==p&&e.getAttribute("class")||"")})},ATTR:function(e,t,n){return function(r,i){var s=nt.attr(r,e);return s==null?t==="!=":t?(s+="",t==="="?s===n:t==="!="?s!==n:t==="^="?n&&s.indexOf(n)===0:t==="*="?n&&s.indexOf(n)>-1:t==="$="?n&&s.substr(s.length-n.length)===n:t==="~="?(" "+s+" ").indexOf(n)>-1:t==="|="?s===n||s.substr(0,n.length+1)===n+"-":!1):!0}},CHILD:function(e,t,n,r){return e==="nth"?function(e){var t,i,s=e.parentNode;if(n===1&&r===0)return!0;if(s){i=0;for(t=s.firstChild;t;t=t.nextSibling)if(t.nodeType===1){i++;if(e===t)break}}return i-=r,i===n||i%n===0&&i/n>=0}:function(t){var n=t;switch(e){case"only":case"first":while(n=n.previousSibling)if(n.nodeType===1)return!1;if(e==="first")return!0;n=t;case"last":while(n=n.nextSibling)if(n.nodeType===1)return!1;return!0}}},PSEUDO:function(e,t){var n,r=i.pseudos[e]||i.setFilters[e.toLowerCase()]||nt.error("unsupported pseudo: "+e);return r[d]?r(t):r.length>1?(n=[e,e,"",t],i.setFilters.hasOwnProperty(e.toLowerCase())?N(function(e,n){var i,s=r(e,t),o=s.length;while(o--)i=T.call(e,s[o]),e[i]=!(n[i]=s[o])}):function(e){return r(e,0,n)}):r}},pseudos:{not:N(function(e){var t=[],n=[],r=a(e.replace(j,"$1"));return r[d]?N(function(e,t,n,i){var s,o=r(e,null,i,[]),u=e.length;while(u--)if(s=o[u])e[u]=!(t[u]=s)}):function(e,i,s){return t[0]=e,r(t,null,s,n),!n.pop()}}),has:N(function(e){return function(t){return nt(e,t).length>0}}),contains:N(function(e){return function(t){return(t.textContent||t.innerText||s(t)).indexOf(e)>-1}}),enabled:function(e){return e.disabled===!1},disabled:function(e){return e.disabled===!0},checked:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&!!e.checked||t==="option"&&!!e.selected},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!i.pseudos.empty(e)},empty:function(e){var t;e=e.firstChild;while(e){if(e.nodeName>"@"||(t=e.nodeType)===3||t===4)return!1;e=e.nextSibling}return!0},header:function(e){return X.test(e.nodeName)},text:function(e){var t,n;return e.nodeName.toLowerCase()==="input"&&(t=e.type)==="text"&&((n=e.getAttribute("type"))==null||n.toLowerCase()===t)},radio:rt("radio"),checkbox:rt("checkbox"),file:rt("file"),password:rt("password"),image:rt("image"),submit:it("submit"),reset:it("reset"),button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&e.type==="button"||t==="button"},input:function(e){return V.test(e.nodeName)},focus:function(e){var t=e.ownerDocument;return e===t.activeElement&&(!t.hasFocus||t.hasFocus())&&!!(e.type||e.href||~e.tabIndex)},active:function(e){return e===e.ownerDocument.activeElement},first:st(function(){return[0]}),last:st(function(e,t){return[t-1]}),eq:st(function(e,t,n){return[n<0?n+t:n]}),even:st(function(e,t){for(var n=0;n<t;n+=2)e.push(n);return e}),odd:st(function(e,t){for(var n=1;n<t;n+=2)e.push(n);return e}),lt:st(function(e,t,n){for(var r=n<0?n+t:n;--r>=0;)e.push(r);return e}),gt:st(function(e,t,n){for(var r=n<0?n+t:n;++r<t;)e.push(r);return e})}},f=y.compareDocumentPosition?function(e,t){return e===t?(l=!0,0):(!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition:e.compareDocumentPosition(t)&4)?-1:1}:function(e,t){if(e===t)return l=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,u=t.parentNode,a=o;if(o===u)return ot(e,t);if(!o)return-1;if(!u)return 1;while(a)i.unshift(a),a=a.parentNode;a=u;while(a)s.unshift(a),a=a.parentNode;n=i.length,r=s.length;for(var f=0;f<n&&f<r;f++)if(i[f]!==s[f])return ot(i[f],s[f]);return f===n?ot(e,s[f],-1):ot(i[f],t,1)},[0,0].sort(f),h=!l,nt.uniqueSort=function(e){var t,n=[],r=1,i=0;l=h,e.sort(f);if(l){for(;t=e[r];r++)t===e[r-1]&&(i=n.push(r));while(i--)e.splice(n[i],1)}return e},nt.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)},a=nt.compile=function(e,t){var n,r=[],i=[],s=A[d][e+" "];if(!s){t||(t=ut(e)),n=t.length;while(n--)s=ht(t[n]),s[d]?r.push(s):i.push(s);s=A(e,pt(i,r))}return s},g.querySelectorAll&&function(){var e,t=vt,n=/'|\\/g,r=/\=[\x20\t\r\n\f]*([^'"\]]*)[\x20\t\r\n\f]*\]/g,i=[":focus"],s=[":active"],u=y.matchesSelector||y.mozMatchesSelector||y.webkitMatchesSelector||y.oMatchesSelector||y.msMatchesSelector;K(function(e){e.innerHTML="<select><option selected=''></option></select>",e.querySelectorAll("[selected]").length||i.push("\\["+O+"*(?:checked|disabled|ismap|multiple|readonly|selected|value)"),e.querySelectorAll(":checked").length||i.push(":checked")}),K(function(e){e.innerHTML="<p test=''></p>",e.querySelectorAll("[test^='']").length&&i.push("[*^$]="+O+"*(?:\"\"|'')"),e.innerHTML="<input type='hidden'/>",e.querySelectorAll(":enabled").length||i.push(":enabled",":disabled")}),i=new RegExp(i.join("|")),vt=function(e,r,s,o,u){if(!o&&!u&&!i.test(e)){var a,f,l=!0,c=d,h=r,p=r.nodeType===9&&e;if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){a=ut(e),(l=r.getAttribute("id"))?c=l.replace(n,"\\$&"):r.setAttribute("id",c),c="[id='"+c+"'] ",f=a.length;while(f--)a[f]=c+a[f].join("");h=z.test(e)&&r.parentNode||r,p=a.join(",")}if(p)try{return S.apply(s,x.call(h.querySelectorAll(p),0)),s}catch(v){}finally{l||r.removeAttribute("id")}}return t(e,r,s,o,u)},u&&(K(function(t){e=u.call(t,"div");try{u.call(t,"[test!='']:sizzle"),s.push("!=",H)}catch(n){}}),s=new RegExp(s.join("|")),nt.matchesSelector=function(t,n){n=n.replace(r,"='$1']");if(!o(t)&&!s.test(n)&&!i.test(n))try{var a=u.call(t,n);if(a||e||t.document&&t.document.nodeType!==11)return a}catch(f){}return nt(n,null,null,[t]).length>0})}(),i.pseudos.nth=i.pseudos.eq,i.filters=mt.prototype=i.pseudos,i.setFilters=new mt,nt.attr=v.attr,v.find=nt,v.expr=nt.selectors,v.expr[":"]=v.expr.pseudos,v.unique=nt.uniqueSort,v.text=nt.getText,v.isXMLDoc=nt.isXML,v.contains=nt.contains}(e);var nt=/Until$/,rt=/^(?:parents|prev(?:Until|All))/,it=/^.[^:#\[\.,]*$/,st=v.expr.match.needsContext,ot={children:!0,contents:!0,next:!0,prev:!0};v.fn.extend({find:function(e){var t,n,r,i,s,o,u=this;if(typeof e!="string")return v(e).filter(function(){for(t=0,n=u.length;t<n;t++)if(v.contains(u[t],this))return!0});o=this.pushStack("","find",e);for(t=0,n=this.length;t<n;t++){r=o.length,v.find(e,this[t],o);if(t>0)for(i=r;i<o.length;i++)for(s=0;s<r;s++)if(o[s]===o[i]){o.splice(i--,1);break}}return o},has:function(e){var t,n=v(e,this),r=n.length;return this.filter(function(){for(t=0;t<r;t++)if(v.contains(this,n[t]))return!0})},not:function(e){return this.pushStack(ft(this,e,!1),"not",e)},filter:function(e){return this.pushStack(ft(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?st.test(e)?v(e,this.context).index(this[0])>=0:v.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n,r=0,i=this.length,s=[],o=st.test(e)||typeof e!="string"?v(e,t||this.context):0;for(;r<i;r++){n=this[r];while(n&&n.ownerDocument&&n!==t&&n.nodeType!==11){if(o?o.index(n)>-1:v.find.matchesSelector(n,e)){s.push(n);break}n=n.parentNode}}return s=s.length>1?v.unique(s):s,this.pushStack(s,"closest",e)},index:function(e){return e?typeof e=="string"?v.inArray(this[0],v(e)):v.inArray(e.jquery?e[0]:e,this):this[0]&&this[0].parentNode?this.prevAll().length:-1},add:function(e,t){var n=typeof e=="string"?v(e,t):v.makeArray(e&&e.nodeType?[e]:e),r=v.merge(this.get(),n);return this.pushStack(ut(n[0])||ut(r[0])?r:v.unique(r))},addBack:function(e){return this.add(e==null?this.prevObject:this.prevObject.filter(e))}}),v.fn.andSelf=v.fn.addBack,v.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return v.dir(e,"parentNode")},parentsUntil:function(e,t,n){return v.dir(e,"parentNode",n)},next:function(e){return at(e,"nextSibling")},prev:function(e){return at(e,"previousSibling")},nextAll:function(e){return v.dir(e,"nextSibling")},prevAll:function(e){return v.dir(e,"previousSibling")},nextUntil:function(e,t,n){return v.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return v.dir(e,"previousSibling",n)},siblings:function(e){return v.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return v.sibling(e.firstChild)},contents:function(e){return v.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:v.merge([],e.childNodes)}},function(e,t){v.fn[e]=function(n,r){var i=v.map(this,t,n);return nt.test(e)||(r=n),r&&typeof r=="string"&&(i=v.filter(r,i)),i=this.length>1&&!ot[e]?v.unique(i):i,this.length>1&&rt.test(e)&&(i=i.reverse()),this.pushStack(i,e,l.call(arguments).join(","))}}),v.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?v.find.matchesSelector(t[0],e)?[t[0]]:[]:v.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!v(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var ct="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",ht=/ jQuery\d+="(?:null|\d+)"/g,pt=/^\s+/,dt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/gi,vt=/<([\w:]+)/,mt=/<tbody/i,gt=/<|&#?\w+;/,yt=/<(?:script|style|link)/i,bt=/<(?:script|object|embed|option|style)/i,wt=new RegExp("<(?:"+ct+")[\\s/>]","i"),Et=/^(?:checkbox|radio)$/,St=/checked\s*(?:[^=]|=\s*.checked.)/i,xt=/\/(java|ecma)script/i,Tt=/^\s*<!(?:\[CDATA\[|\-\-)|[\]\-]{2}>\s*$/g,Nt={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]},Ct=lt(i),kt=Ct.appendChild(i.createElement("div"));Nt.optgroup=Nt.option,Nt.tbody=Nt.tfoot=Nt.colgroup=Nt.caption=Nt.thead,Nt.th=Nt.td,v.support.htmlSerialize||(Nt._default=[1,"X<div>","</div>"]),v.fn.extend({text:function(e){return v.access(this,function(e){return e===t?v.text(this):this.empty().append((this[0]&&this[0].ownerDocument||i).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(v.isFunction(e))return this.each(function(t){v(this).wrapAll(e.call(this,t))});if(this[0]){var t=v(e,this[0].ownerDocument).eq(0).clone(!0);this[0].parentNode&&t.insertBefore(this[0]),t.map(function(){var e=this;while(e.firstChild&&e.firstChild.nodeType===1)e=e.firstChild;return e}).append(this)}return this},wrapInner:function(e){return v.isFunction(e)?this.each(function(t){v(this).wrapInner(e.call(this,t))}):this.each(function(){var t=v(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=v.isFunction(e);return this.each(function(n){v(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){v.nodeName(this,"body")||v(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){(this.nodeType===1||this.nodeType===11)&&this.insertBefore(e,this.firstChild)})},before:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(e,this),"before",this.selector)}},after:function(){if(!ut(this[0]))return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=v.clean(arguments);return this.pushStack(v.merge(this,e),"after",this.selector)}},remove:function(e,t){var n,r=0;for(;(n=this[r])!=null;r++)if(!e||v.filter(e,[n]).length)!t&&n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),v.cleanData([n])),n.parentNode&&n.parentNode.removeChild(n);return this},empty:function(){var e,t=0;for(;(e=this[t])!=null;t++){e.nodeType===1&&v.cleanData(e.getElementsByTagName("*"));while(e.firstChild)e.removeChild(e.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return v.clone(this,e,t)})},html:function(e){return v.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(ht,""):t;if(typeof e=="string"&&!yt.test(e)&&(v.support.htmlSerialize||!wt.test(e))&&(v.support.leadingWhitespace||!pt.test(e))&&!Nt[(vt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(dt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(v.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return ut(this[0])?this.length?this.pushStack(v(v.isFunction(e)?e():e),"replaceWith",e):this:v.isFunction(e)?this.each(function(t){var n=v(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=v(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;v(this).remove(),t?v(t).before(e):v(n).append(e)}))},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){e=[].concat.apply([],e);var i,s,o,u,a=0,f=e[0],l=[],c=this.length;if(!v.support.checkClone&&c>1&&typeof f=="string"&&St.test(f))return this.each(function(){v(this).domManip(e,n,r)});if(v.isFunction(f))return this.each(function(i){var s=v(this);e[0]=f.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){i=v.buildFragment(e,this,l),o=i.fragment,s=o.firstChild,o.childNodes.length===1&&(o=s);if(s){n=n&&v.nodeName(s,"tr");for(u=i.cacheable||c-1;a<c;a++)r.call(n&&v.nodeName(this[a],"table")?Lt(this[a],"tbody"):this[a],a===u?o:v.clone(o,!0,!0))}o=s=null,l.length&&v.each(l,function(e,t){t.src?v.ajax?v.ajax({url:t.src,type:"GET",dataType:"script",async:!1,global:!1,"throws":!0}):v.error("no ajax"):v.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Tt,"")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),v.buildFragment=function(e,n,r){var s,o,u,a=e[0];return n=n||i,n=!n.nodeType&&n[0]||n,n=n.ownerDocument||n,e.length===1&&typeof a=="string"&&a.length<512&&n===i&&a.charAt(0)==="<"&&!bt.test(a)&&(v.support.checkClone||!St.test(a))&&(v.support.html5Clone||!wt.test(a))&&(o=!0,s=v.fragments[a],u=s!==t),s||(s=n.createDocumentFragment(),v.clean(e,n,s,r),o&&(v.fragments[a]=u&&s)),{fragment:s,cacheable:o}},v.fragments={},v.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){v.fn[e]=function(n){var r,i=0,s=[],o=v(n),u=o.length,a=this.length===1&&this[0].parentNode;if((a==null||a&&a.nodeType===11&&a.childNodes.length===1)&&u===1)return o[t](this[0]),this;for(;i<u;i++)r=(i>0?this.clone(!0):this).get(),v(o[i])[t](r),s=s.concat(r);return this.pushStack(s,e,o.selector)}}),v.extend({clone:function(e,t,n){var r,i,s,o;v.support.html5Clone||v.isXMLDoc(e)||!wt.test("<"+e.nodeName+">")?o=e.cloneNode(!0):(kt.innerHTML=e.outerHTML,kt.removeChild(o=kt.firstChild));if((!v.support.noCloneEvent||!v.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!v.isXMLDoc(e)){Ot(e,o),r=Mt(e),i=Mt(o);for(s=0;r[s];++s)i[s]&&Ot(r[s],i[s])}if(t){At(e,o);if(n){r=Mt(e),i=Mt(o);for(s=0;r[s];++s)At(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var s,o,u,a,f,l,c,h,p,d,m,g,y=t===i&&Ct,b=[];if(!t||typeof t.createDocumentFragment=="undefined")t=i;for(s=0;(u=e[s])!=null;s++){typeof u=="number"&&(u+="");if(!u)continue;if(typeof u=="string")if(!gt.test(u))u=t.createTextNode(u);else{y=y||lt(t),c=t.createElement("div"),y.appendChild(c),u=u.replace(dt,"<$1></$2>"),a=(vt.exec(u)||["",""])[1].toLowerCase(),f=Nt[a]||Nt._default,l=f[0],c.innerHTML=f[1]+u+f[2];while(l--)c=c.lastChild;if(!v.support.tbody){h=mt.test(u),p=a==="table"&&!h?c.firstChild&&c.firstChild.childNodes:f[1]==="<table>"&&!h?c.childNodes:[];for(o=p.length-1;o>=0;--o)v.nodeName(p[o],"tbody")&&!p[o].childNodes.length&&p[o].parentNode.removeChild(p[o])}!v.support.leadingWhitespace&&pt.test(u)&&c.insertBefore(t.createTextNode(pt.exec(u)[0]),c.firstChild),u=c.childNodes,c.parentNode.removeChild(c)}u.nodeType?b.push(u):v.merge(b,u)}c&&(u=c=y=null);if(!v.support.appendChecked)for(s=0;(u=b[s])!=null;s++)v.nodeName(u,"input")?_t(u):typeof u.getElementsByTagName!="undefined"&&v.grep(u.getElementsByTagName("input"),_t);if(n){m=function(e){if(!e.type||xt.test(e.type))return r?r.push(e.parentNode?e.parentNode.removeChild(e):e):n.appendChild(e)};for(s=0;(u=b[s])!=null;s++)if(!v.nodeName(u,"script")||!m(u))n.appendChild(u),typeof u.getElementsByTagName!="undefined"&&(g=v.grep(v.merge([],u.getElementsByTagName("script")),m),b.splice.apply(b,[s+1,0].concat(g)),s+=g.length)}return b},cleanData:function(e,t){var n,r,i,s,o=0,u=v.expando,a=v.cache,f=v.support.deleteExpando,l=v.event.special;for(;(i=e[o])!=null;o++)if(t||v.acceptData(i)){r=i[u],n=r&&a[r];if(n){if(n.events)for(s in n.events)l[s]?v.event.remove(i,s):v.removeEvent(i,s,n.handle);a[r]&&(delete a[r],f?delete i[u]:i.removeAttribute?i.removeAttribute(u):i[u]=null,v.deletedIds.push(r))}}}}),function(){var e,t;v.uaMatch=function(e){e=e.toLowerCase();var t=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},e=v.uaMatch(o.userAgent),t={},e.browser&&(t[e.browser]=!0,t.version=e.version),t.chrome?t.webkit=!0:t.webkit&&(t.safari=!0),v.browser=t,v.sub=function(){function e(t,n){return new e.fn.init(t,n)}v.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(r,i){return i&&i instanceof v&&!(i instanceof e)&&(i=e(i)),v.fn.init.call(this,r,i,t)},e.fn.init.prototype=e.fn;var t=e(i);return e}}();var Dt,Pt,Ht,Bt=/alpha\([^)]*\)/i,jt=/opacity=([^)]*)/,Ft=/^(top|right|bottom|left)$/,It=/^(none|table(?!-c[ea]).+)/,qt=/^margin/,Rt=new RegExp("^("+m+")(.*)$","i"),Ut=new RegExp("^("+m+")(?!px)[a-z%]+$","i"),zt=new RegExp("^([-+])=("+m+")","i"),Wt={BODY:"block"},Xt={position:"absolute",visibility:"hidden",display:"block"},Vt={letterSpacing:0,fontWeight:400},$t=["Top","Right","Bottom","Left"],Jt=["Webkit","O","Moz","ms"],Kt=v.fn.toggle;v.fn.extend({css:function(e,n){return v.access(this,function(e,n,r){return r!==t?v.style(e,n,r):v.css(e,n)},e,n,arguments.length>1)},show:function(){return Yt(this,!0)},hide:function(){return Yt(this)},toggle:function(e,t){var n=typeof e=="boolean";return v.isFunction(e)&&v.isFunction(t)?Kt.apply(this,arguments):this.each(function(){(n?e:Gt(this))?v(this).show():v(this).hide()})}}),v.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Dt(e,"opacity");return n===""?"1":n}}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":v.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!e||e.nodeType===3||e.nodeType===8||!e.style)return;var s,o,u,a=v.camelCase(n),f=e.style;n=v.cssProps[a]||(v.cssProps[a]=Qt(f,a)),u=v.cssHooks[n]||v.cssHooks[a];if(r===t)return u&&"get"in u&&(s=u.get(e,!1,i))!==t?s:f[n];o=typeof r,o==="string"&&(s=zt.exec(r))&&(r=(s[1]+1)*s[2]+parseFloat(v.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!v.cssNumber[a]&&(r+="px");if(!u||!("set"in u)||(r=u.set(e,r,i))!==t)try{f[n]=r}catch(l){}},css:function(e,n,r,i){var s,o,u,a=v.camelCase(n);return n=v.cssProps[a]||(v.cssProps[a]=Qt(e.style,a)),u=v.cssHooks[n]||v.cssHooks[a],u&&"get"in u&&(s=u.get(e,!0,i)),s===t&&(s=Dt(e,n)),s==="normal"&&n in Vt&&(s=Vt[n]),r||i!==t?(o=parseFloat(s),r||v.isNumeric(o)?o||0:s):s},swap:function(e,t,n){var r,i,s={};for(i in t)s[i]=e.style[i],e.style[i]=t[i];r=n.call(e);for(i in t)e.style[i]=s[i];return r}}),e.getComputedStyle?Dt=function(t,n){var r,i,s,o,u=e.getComputedStyle(t,null),a=t.style;return u&&(r=u.getPropertyValue(n)||u[n],r===""&&!v.contains(t.ownerDocument,t)&&(r=v.style(t,n)),Ut.test(r)&&qt.test(n)&&(i=a.width,s=a.minWidth,o=a.maxWidth,a.minWidth=a.maxWidth=a.width=r,r=u.width,a.width=i,a.minWidth=s,a.maxWidth=o)),r}:i.documentElement.currentStyle&&(Dt=function(e,t){var n,r,i=e.currentStyle&&e.currentStyle[t],s=e.style;return i==null&&s&&s[t]&&(i=s[t]),Ut.test(i)&&!Ft.test(t)&&(n=s.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),s.left=t==="fontSize"?"1em":i,i=s.pixelLeft+"px",s.left=n,r&&(e.runtimeStyle.left=r)),i===""?"auto":i}),v.each(["height","width"],function(e,t){v.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth===0&&It.test(Dt(e,"display"))?v.swap(e,Xt,function(){return tn(e,t,r)}):tn(e,t,r)},set:function(e,n,r){return Zt(e,n,r?en(e,t,r,v.support.boxSizing&&v.css(e,"boxSizing")==="border-box"):0)}}}),v.support.opacity||(v.cssHooks.opacity={get:function(e,t){return jt.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?.01*parseFloat(RegExp.$1)+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=v.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&v.trim(s.replace(Bt,""))===""&&n.removeAttribute){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=Bt.test(s)?s.replace(Bt,i):s+" "+i}}),v(function(){v.support.reliableMarginRight||(v.cssHooks.marginRight={get:function(e,t){return v.swap(e,{display:"inline-block"},function(){if(t)return Dt(e,"marginRight")})}}),!v.support.pixelPosition&&v.fn.position&&v.each(["top","left"],function(e,t){v.cssHooks[t]={get:function(e,n){if(n){var r=Dt(e,t);return Ut.test(r)?v(e).position()[t]+"px":r}}}})}),v.expr&&v.expr.filters&&(v.expr.filters.hidden=function(e){return e.offsetWidth===0&&e.offsetHeight===0||!v.support.reliableHiddenOffsets&&(e.style&&e.style.display||Dt(e,"display"))==="none"},v.expr.filters.visible=function(e){return!v.expr.filters.hidden(e)}),v.each({margin:"",padding:"",border:"Width"},function(e,t){v.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+$t[r]+t]=i[r]||i[r-2]||i[0];return s}},qt.test(e)||(v.cssHooks[e+t].set=Zt)});var rn=/%20/g,sn=/\[\]$/,on=/\r?\n/g,un=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,an=/^(?:select|textarea)/i;v.fn.extend({serialize:function(){return v.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?v.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||an.test(this.nodeName)||un.test(this.type))}).map(function(e,t){var n=v(this).val();return n==null?null:v.isArray(n)?v.map(n,function(e,n){return{name:t.name,value:e.replace(on,"\r\n")}}):{name:t.name,value:n.replace(on,"\r\n")}}).get()}}),v.param=function(e,n){var r,i=[],s=function(e,t){t=v.isFunction(t)?t():t==null?"":t,i[i.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=v.ajaxSettings&&v.ajaxSettings.traditional);if(v.isArray(e)||e.jquery&&!v.isPlainObject(e))v.each(e,function(){s(this.name,this.value)});else for(r in e)fn(r,e[r],n,s);return i.join("&").replace(rn,"+")};var ln,cn,hn=/#.*$/,pn=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,dn=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,vn=/^(?:GET|HEAD)$/,mn=/^\/\//,gn=/\?/,yn=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,bn=/([?&])_=[^&]*/,wn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+)|)|)/,En=v.fn.load,Sn={},xn={},Tn=["*/"]+["*"];try{cn=s.href}catch(Nn){cn=i.createElement("a"),cn.href="",cn=cn.href}ln=wn.exec(cn.toLowerCase())||[],v.fn.load=function(e,n,r){if(typeof e!="string"&&En)return En.apply(this,arguments);if(!this.length)return this;var i,s,o,u=this,a=e.indexOf(" ");return a>=0&&(i=e.slice(a,e.length),e=e.slice(0,a)),v.isFunction(n)?(r=n,n=t):n&&typeof n=="object"&&(s="POST"),v.ajax({url:e,type:s,dataType:"html",data:n,complete:function(e,t){r&&u.each(r,o||[e.responseText,t,e])}}).done(function(e){o=arguments,u.html(i?v("<div>").append(e.replace(yn,"")).find(i):e)}),this},v.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){v.fn[t]=function(e){return this.on(t,e)}}),v.each(["get","post"],function(e,n){v[n]=function(e,r,i,s){return v.isFunction(r)&&(s=s||i,i=r,r=t),v.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),v.extend({getScript:function(e,n){return v.get(e,t,n,"script")},getJSON:function(e,t,n){return v.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?Ln(e,v.ajaxSettings):(t=e,e=v.ajaxSettings),Ln(e,t),e},ajaxSettings:{url:cn,isLocal:dn.test(ln[1]),global:!0,type:"GET",contentType:"application/x-www-form-urlencoded; charset=UTF-8",processData:!0,async:!0,accepts:{xml:"application/xml, text/xml",html:"text/html",text:"text/plain",json:"application/json, text/javascript","*":Tn},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":v.parseJSON,"text xml":v.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:Cn(Sn),ajaxTransport:Cn(xn),ajax:function(e,n){function T(e,n,s,a){var l,y,b,w,S,T=n;if(E===2)return;E=2,u&&clearTimeout(u),o=t,i=a||"",x.readyState=e>0?4:0,s&&(w=An(c,x,s));if(e>=200&&e<300||e===304)c.ifModified&&(S=x.getResponseHeader("Last-Modified"),S&&(v.lastModified[r]=S),S=x.getResponseHeader("Etag"),S&&(v.etag[r]=S)),e===304?(T="notmodified",l=!0):(l=On(c,w),T=l.state,y=l.data,b=l.error,l=!b);else{b=T;if(!T||e)T="error",e<0&&(e=0)}x.status=e,x.statusText=(n||T)+"",l?d.resolveWith(h,[y,T,x]):d.rejectWith(h,[x,T,b]),x.statusCode(g),g=t,f&&p.trigger("ajax"+(l?"Success":"Error"),[x,c,l?y:b]),m.fireWith(h,[x,T]),f&&(p.trigger("ajaxComplete",[x,c]),--v.active||v.event.trigger("ajaxStop"))}typeof e=="object"&&(n=e,e=t),n=n||{};var r,i,s,o,u,a,f,l,c=v.ajaxSetup({},n),h=c.context||c,p=h!==c&&(h.nodeType||h instanceof v)?v(h):v.event,d=v.Deferred(),m=v.Callbacks("once memory"),g=c.statusCode||{},b={},w={},E=0,S="canceled",x={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=w[n]=w[n]||e,b[e]=t}return this},getAllResponseHeaders:function(){return E===2?i:null},getResponseHeader:function(e){var n;if(E===2){if(!s){s={};while(n=pn.exec(i))s[n[1].toLowerCase()]=n[2]}n=s[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(c.mimeType=e),this},abort:function(e){return e=e||S,o&&o.abort(e),T(0,e),this}};d.promise(x),x.success=x.done,x.error=x.fail,x.complete=m.add,x.statusCode=function(e){if(e){var t;if(E<2)for(t in e)g[t]=[g[t],e[t]];else t=e[x.status],x.always(t)}return this},c.url=((e||c.url)+"").replace(hn,"").replace(mn,ln[1]+"//"),c.dataTypes=v.trim(c.dataType||"*").toLowerCase().split(y),c.crossDomain==null&&(a=wn.exec(c.url.toLowerCase()),c.crossDomain=!(!a||a[1]===ln[1]&&a[2]===ln[2]&&(a[3]||(a[1]==="http:"?80:443))==(ln[3]||(ln[1]==="http:"?80:443)))),c.data&&c.processData&&typeof c.data!="string"&&(c.data=v.param(c.data,c.traditional)),kn(Sn,c,n,x);if(E===2)return x;f=c.global,c.type=c.type.toUpperCase(),c.hasContent=!vn.test(c.type),f&&v.active++===0&&v.event.trigger("ajaxStart");if(!c.hasContent){c.data&&(c.url+=(gn.test(c.url)?"&":"?")+c.data,delete c.data),r=c.url;if(c.cache===!1){var N=v.now(),C=c.url.replace(bn,"$1_="+N);c.url=C+(C===c.url?(gn.test(c.url)?"&":"?")+"_="+N:"")}}(c.data&&c.hasContent&&c.contentType!==!1||n.contentType)&&x.setRequestHeader("Content-Type",c.contentType),c.ifModified&&(r=r||c.url,v.lastModified[r]&&x.setRequestHeader("If-Modified-Since",v.lastModified[r]),v.etag[r]&&x.setRequestHeader("If-None-Match",v.etag[r])),x.setRequestHeader("Accept",c.dataTypes[0]&&c.accepts[c.dataTypes[0]]?c.accepts[c.dataTypes[0]]+(c.dataTypes[0]!=="*"?", "+Tn+"; q=0.01":""):c.accepts["*"]);for(l in c.headers)x.setRequestHeader(l,c.headers[l]);if(!c.beforeSend||c.beforeSend.call(h,x,c)!==!1&&E!==2){S="abort";for(l in{success:1,error:1,complete:1})x[l](c[l]);o=kn(xn,c,n,x);if(!o)T(-1,"No Transport");else{x.readyState=1,f&&p.trigger("ajaxSend",[x,c]),c.async&&c.timeout>0&&(u=setTimeout(function(){x.abort("timeout")},c.timeout));try{E=1,o.send(b,T)}catch(k){if(!(E<2))throw k;T(-1,k)}}return x}return x.abort()},active:0,lastModified:{},etag:{}});var Mn=[],_n=/\?/,Dn=/(=)\?(?=&|$)|\?\?/,Pn=v.now();v.ajaxSetup({jsonp:"callback",jsonpCallback:function(){var e=Mn.pop()||v.expando+"_"+Pn++;return this[e]=!0,e}}),v.ajaxPrefilter("json jsonp",function(n,r,i){var s,o,u,a=n.data,f=n.url,l=n.jsonp!==!1,c=l&&Dn.test(f),h=l&&!c&&typeof a=="string"&&!(n.contentType||"").indexOf("application/x-www-form-urlencoded")&&Dn.test(a);if(n.dataTypes[0]==="jsonp"||c||h)return s=n.jsonpCallback=v.isFunction(n.jsonpCallback)?n.jsonpCallback():n.jsonpCallback,o=e[s],c?n.url=f.replace(Dn,"$1"+s):h?n.data=a.replace(Dn,"$1"+s):l&&(n.url+=(_n.test(f)?"&":"?")+n.jsonp+"="+s),n.converters["script json"]=function(){return u||v.error(s+" was not called"),u[0]},n.dataTypes[0]="json",e[s]=function(){u=arguments},i.always(function(){e[s]=o,n[s]&&(n.jsonpCallback=r.jsonpCallback,Mn.push(s)),u&&v.isFunction(o)&&o(u[0]),u=o=t}),"script"}),v.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return v.globalEval(e),e}}}),v.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),v.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=i.head||i.getElementsByTagName("head")[0]||i.documentElement;return{send:function(s,o){n=i.createElement("script"),n.async="async",e.scriptCharset&&(n.charset=e.scriptCharset),n.src=e.url,n.onload=n.onreadystatechange=function(e,i){if(i||!n.readyState||/loaded|complete/.test(n.readyState))n.onload=n.onreadystatechange=null,r&&n.parentNode&&r.removeChild(n),n=t,i||o(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var Hn,Bn=e.ActiveXObject?function(){for(var e in Hn)Hn[e](0,1)}:!1,jn=0;v.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&Fn()||In()}:Fn,function(e){v.extend(v.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(v.ajaxSettings.xhr()),v.support.ajax&&v.ajaxTransport(function(n){if(!n.crossDomain||v.support.cors){var r;return{send:function(i,s){var o,u,a=n.xhr();n.username?a.open(n.type,n.url,n.async,n.username,n.password):a.open(n.type,n.url,n.async);if(n.xhrFields)for(u in n.xhrFields)a[u]=n.xhrFields[u];n.mimeType&&a.overrideMimeType&&a.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(u in i)a.setRequestHeader(u,i[u])}catch(f){}a.send(n.hasContent&&n.data||null),r=function(e,i){var u,f,l,c,h;try{if(r&&(i||a.readyState===4)){r=t,o&&(a.onreadystatechange=v.noop,Bn&&delete Hn[o]);if(i)a.readyState!==4&&a.abort();else{u=a.status,l=a.getAllResponseHeaders(),c={},h=a.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=a.responseText}catch(p){}try{f=a.statusText}catch(p){f=""}!u&&n.isLocal&&!n.crossDomain?u=c.text?200:404:u===1223&&(u=204)}}}catch(d){i||s(-1,d)}c&&s(u,f,c,l)},n.async?a.readyState===4?setTimeout(r,0):(o=++jn,Bn&&(Hn||(Hn={},v(e).unload(Bn)),Hn[o]=r),a.onreadystatechange=r):r()},abort:function(){r&&r(0,1)}}}});var qn,Rn,Un=/^(?:toggle|show|hide)$/,zn=new RegExp("^(?:([-+])=|)("+m+")([a-z%]*)$","i"),Wn=/queueHooks$/,Xn=[Gn],Vn={"*":[function(e,t){var n,r,i=this.createTween(e,t),s=zn.exec(t),o=i.cur(),u=+o||0,a=1,f=20;if(s){n=+s[2],r=s[3]||(v.cssNumber[e]?"":"px");if(r!=="px"&&u){u=v.css(i.elem,e,!0)||n||1;do a=a||".5",u/=a,v.style(i.elem,e,u+r);while(a!==(a=i.cur()/o)&&a!==1&&--f)}i.unit=r,i.start=u,i.end=s[1]?u+(s[1]+1)*n:n}return i}]};v.Animation=v.extend(Kn,{tweener:function(e,t){v.isFunction(e)?(t=e,e=["*"]):e=e.split(" ");var n,r=0,i=e.length;for(;r<i;r++)n=e[r],Vn[n]=Vn[n]||[],Vn[n].unshift(t)},prefilter:function(e,t){t?Xn.unshift(e):Xn.push(e)}}),v.Tween=Yn,Yn.prototype={constructor:Yn,init:function(e,t,n,r,i,s){this.elem=e,this.prop=n,this.easing=i||"swing",this.options=t,this.start=this.now=this.cur(),this.end=r,this.unit=s||(v.cssNumber[n]?"":"px")},cur:function(){var e=Yn.propHooks[this.prop];return e&&e.get?e.get(this):Yn.propHooks._default.get(this)},run:function(e){var t,n=Yn.propHooks[this.prop];return this.options.duration?this.pos=t=v.easing[this.easing](e,this.options.duration*e,0,1,this.options.duration):this.pos=t=e,this.now=(this.end-this.start)*t+this.start,this.options.step&&this.options.step.call(this.elem,this.now,this),n&&n.set?n.set(this):Yn.propHooks._default.set(this),this}},Yn.prototype.init.prototype=Yn.prototype,Yn.propHooks={_default:{get:function(e){var t;return e.elem[e.prop]==null||!!e.elem.style&&e.elem.style[e.prop]!=null?(t=v.css(e.elem,e.prop,!1,""),!t||t==="auto"?0:t):e.elem[e.prop]},set:function(e){v.fx.step[e.prop]?v.fx.step[e.prop](e):e.elem.style&&(e.elem.style[v.cssProps[e.prop]]!=null||v.cssHooks[e.prop])?v.style(e.elem,e.prop,e.now+e.unit):e.elem[e.prop]=e.now}}},Yn.propHooks.scrollTop=Yn.propHooks.scrollLeft={set:function(e){e.elem.nodeType&&e.elem.parentNode&&(e.elem[e.prop]=e.now)}},v.each(["toggle","show","hide"],function(e,t){var n=v.fn[t];v.fn[t]=function(r,i,s){return r==null||typeof r=="boolean"||!e&&v.isFunction(r)&&v.isFunction(i)?n.apply(this,arguments):this.animate(Zn(t,!0),r,i,s)}}),v.fn.extend({fadeTo:function(e,t,n,r){return this.filter(Gt).css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,r){var i=v.isEmptyObject(e),s=v.speed(t,n,r),o=function(){var t=Kn(this,v.extend({},e),s);i&&t.stop(!0)};return i||s.queue===!1?this.each(o):this.queue(s.queue,o)},stop:function(e,n,r){var i=function(e){var t=e.stop;delete e.stop,t(r)};return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){var t=!0,n=e!=null&&e+"queueHooks",s=v.timers,o=v._data(this);if(n)o[n]&&o[n].stop&&i(o[n]);else for(n in o)o[n]&&o[n].stop&&Wn.test(n)&&i(o[n]);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(s[n].anim.stop(r),t=!1,s.splice(n,1));(t||!r)&&v.dequeue(this,e)})}}),v.each({slideDown:Zn("show"),slideUp:Zn("hide"),slideToggle:Zn("toggle"),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){v.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),v.speed=function(e,t,n){var r=e&&typeof e=="object"?v.extend({},e):{complete:n||!n&&t||v.isFunction(e)&&e,duration:e,easing:n&&t||t&&!v.isFunction(t)&&t};r.duration=v.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in v.fx.speeds?v.fx.speeds[r.duration]:v.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(){v.isFunction(r.old)&&r.old.call(this),r.queue&&v.dequeue(this,r.queue)},r},v.easing={linear:function(e){return e},swing:function(e){return.5-Math.cos(e*Math.PI)/2}},v.timers=[],v.fx=Yn.prototype.init,v.fx.tick=function(){var e,n=v.timers,r=0;qn=v.now();for(;r<n.length;r++)e=n[r],!e()&&n[r]===e&&n.splice(r--,1);n.length||v.fx.stop(),qn=t},v.fx.timer=function(e){e()&&v.timers.push(e)&&!Rn&&(Rn=setInterval(v.fx.tick,v.fx.interval))},v.fx.interval=13,v.fx.stop=function(){clearInterval(Rn),Rn=null},v.fx.speeds={slow:600,fast:200,_default:400},v.fx.step={},v.expr&&v.expr.filters&&(v.expr.filters.animated=function(e){return v.grep(v.timers,function(t){return e===t.elem}).length});var er=/^(?:body|html)$/i;v.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){v.offset.setOffset(this,e,t)});var n,r,i,s,o,u,a,f={top:0,left:0},l=this[0],c=l&&l.ownerDocument;if(!c)return;return(r=c.body)===l?v.offset.bodyOffset(l):(n=c.documentElement,v.contains(n,l)?(typeof l.getBoundingClientRect!="undefined"&&(f=l.getBoundingClientRect()),i=tr(c),s=n.clientTop||r.clientTop||0,o=n.clientLeft||r.clientLeft||0,u=i.pageYOffset||n.scrollTop,a=i.pageXOffset||n.scrollLeft,{top:f.top+u-s,left:f.left+a-o}):f)},v.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return v.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(v.css(e,"marginTop"))||0,n+=parseFloat(v.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=v.css(e,"position");r==="static"&&(e.style.position="relative");var i=v(e),s=i.offset(),o=v.css(e,"top"),u=v.css(e,"left"),a=(r==="absolute"||r==="fixed")&&v.inArray("auto",[o,u])>-1,f={},l={},c,h;a?(l=i.position(),c=l.top,h=l.left):(c=parseFloat(o)||0,h=parseFloat(u)||0),v.isFunction(t)&&(t=t.call(e,n,s)),t.top!=null&&(f.top=t.top-s.top+c),t.left!=null&&(f.left=t.left-s.left+h),"using"in t?t.using.call(e,f):i.css(f)}},v.fn.extend({position:function(){if(!this[0])return;var e=this[0],t=this.offsetParent(),n=this.offset(),r=er.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(v.css(e,"marginTop"))||0,n.left-=parseFloat(v.css(e,"marginLeft"))||0,r.top+=parseFloat(v.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(v.css(t[0],"borderLeftWidth"))||0,{top:n.top-r.top,left:n.left-r.left}},offsetParent:function(){return this.map(function(){var e=this.offsetParent||i.body;while(e&&!er.test(e.nodeName)&&v.css(e,"position")==="static")e=e.offsetParent;return e||i.body})}}),v.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,n){var r=/Y/.test(n);v.fn[e]=function(i){return v.access(this,function(e,i,s){var o=tr(e);if(s===t)return o?n in o?o[n]:o.document.documentElement[i]:e[i];o?o.scrollTo(r?v(o).scrollLeft():s,r?s:v(o).scrollTop()):e[i]=s},e,i,arguments.length,null)}}),v.each({Height:"height",Width:"width"},function(e,n){v.each({padding:"inner"+e,content:n,"":"outer"+e},function(r,i){v.fn[i]=function(i,s){var o=arguments.length&&(r||typeof i!="boolean"),u=r||(i===!0||s===!0?"margin":"border");return v.access(this,function(n,r,i){var s;return v.isWindow(n)?n.document.documentElement["client"+e]:n.nodeType===9?(s=n.documentElement,Math.max(n.body["scroll"+e],s["scroll"+e],n.body["offset"+e],s["offset"+e],s["client"+e])):i===t?v.css(n,r,i,u):v.style(n,r,i,u)},n,o?i:t,o,null)}})}),e.jQuery=e.$=v,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return v})})(window); \ No newline at end of file |
| 3 | * http://jquery.com/ | ||
| 4 | * | ||
| 5 | * Copyright 2010, John Resig | ||
| 6 | * Dual licensed under the MIT or GPL Version 2 licenses. | ||
| 7 | * http://jquery.org/license | ||
| 8 | * | ||
| 9 | * Includes Sizzle.js | ||
| 10 | * http://sizzlejs.com/ | ||
| 11 | * Copyright 2010, The Dojo Foundation | ||
| 12 | * Released under the MIT, BSD, and GPL Licenses. | ||
| 13 | * | ||
| 14 | * Date: Sat Feb 13 22:33:48 2010 -0500 | ||
| 15 | */ | ||
| 16 | (function(A,w){function ma(){if(!c.isReady){try{s.documentElement.doScroll("left")}catch(a){setTimeout(ma,1);return}c.ready()}}function Qa(a,b){b.src?c.ajax({url:b.src,async:false,dataType:"script"}):c.globalEval(b.text||b.textContent||b.innerHTML||"");b.parentNode&&b.parentNode.removeChild(b)}function X(a,b,d,f,e,j){var i=a.length;if(typeof b==="object"){for(var o in b)X(a,o,b[o],f,e,d);return a}if(d!==w){f=!j&&f&&c.isFunction(d);for(o=0;o<i;o++)e(a[o],b,f?d.call(a[o],o,e(a[o],b)):d,j);return a}return i? | ||
| 17 | e(a[0],b):w}function J(){return(new Date).getTime()}function Y(){return false}function Z(){return true}function na(a,b,d){d[0].type=a;return c.event.handle.apply(b,d)}function oa(a){var b,d=[],f=[],e=arguments,j,i,o,k,n,r;i=c.data(this,"events");if(!(a.liveFired===this||!i||!i.live||a.button&&a.type==="click")){a.liveFired=this;var u=i.live.slice(0);for(k=0;k<u.length;k++){i=u[k];i.origType.replace(O,"")===a.type?f.push(i.selector):u.splice(k--,1)}j=c(a.target).closest(f,a.currentTarget);n=0;for(r= | ||
| 18 | j.length;n<r;n++)for(k=0;k<u.length;k++){i=u[k];if(j[n].selector===i.selector){o=j[n].elem;f=null;if(i.preType==="mouseenter"||i.preType==="mouseleave")f=c(a.relatedTarget).closest(i.selector)[0];if(!f||f!==o)d.push({elem:o,handleObj:i})}}n=0;for(r=d.length;n<r;n++){j=d[n];a.currentTarget=j.elem;a.data=j.handleObj.data;a.handleObj=j.handleObj;if(j.handleObj.origHandler.apply(j.elem,e)===false){b=false;break}}return b}}function pa(a,b){return"live."+(a&&a!=="*"?a+".":"")+b.replace(/\./g,"`").replace(/ /g, | ||
| 19 | "&")}function qa(a){return!a||!a.parentNode||a.parentNode.nodeType===11}function ra(a,b){var d=0;b.each(function(){if(this.nodeName===(a[d]&&a[d].nodeName)){var f=c.data(a[d++]),e=c.data(this,f);if(f=f&&f.events){delete e.handle;e.events={};for(var j in f)for(var i in f[j])c.event.add(this,j,f[j][i],f[j][i].data)}}})}function sa(a,b,d){var f,e,j;b=b&&b[0]?b[0].ownerDocument||b[0]:s;if(a.length===1&&typeof a[0]==="string"&&a[0].length<512&&b===s&&!ta.test(a[0])&&(c.support.checkClone||!ua.test(a[0]))){e= | ||
| 20 | true;if(j=c.fragments[a[0]])if(j!==1)f=j}if(!f){f=b.createDocumentFragment();c.clean(a,b,f,d)}if(e)c.fragments[a[0]]=j?f:1;return{fragment:f,cacheable:e}}function K(a,b){var d={};c.each(va.concat.apply([],va.slice(0,b)),function(){d[this]=a});return d}function wa(a){return"scrollTo"in a&&a.document?a:a.nodeType===9?a.defaultView||a.parentWindow:false}var c=function(a,b){return new c.fn.init(a,b)},Ra=A.jQuery,Sa=A.$,s=A.document,T,Ta=/^[^<]*(<[\w\W]+>)[^>]*$|^#([\w-]+)$/,Ua=/^.[^:#\[\.,]*$/,Va=/\S/, | ||
| 21 | Wa=/^(\s|\u00A0)+|(\s|\u00A0)+$/g,Xa=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,P=navigator.userAgent,xa=false,Q=[],L,$=Object.prototype.toString,aa=Object.prototype.hasOwnProperty,ba=Array.prototype.push,R=Array.prototype.slice,ya=Array.prototype.indexOf;c.fn=c.prototype={init:function(a,b){var d,f;if(!a)return this;if(a.nodeType){this.context=this[0]=a;this.length=1;return this}if(a==="body"&&!b){this.context=s;this[0]=s.body;this.selector="body";this.length=1;return this}if(typeof a==="string")if((d=Ta.exec(a))&& | ||
| 22 | (d[1]||!b))if(d[1]){f=b?b.ownerDocument||b:s;if(a=Xa.exec(a))if(c.isPlainObject(b)){a=[s.createElement(a[1])];c.fn.attr.call(a,b,true)}else a=[f.createElement(a[1])];else{a=sa([d[1]],[f]);a=(a.cacheable?a.fragment.cloneNode(true):a.fragment).childNodes}return c.merge(this,a)}else{if(b=s.getElementById(d[2])){if(b.id!==d[2])return T.find(a);this.length=1;this[0]=b}this.context=s;this.selector=a;return this}else if(!b&&/^\w+$/.test(a)){this.selector=a;this.context=s;a=s.getElementsByTagName(a);return c.merge(this, | ||
| 23 | a)}else return!b||b.jquery?(b||T).find(a):c(b).find(a);else if(c.isFunction(a))return T.ready(a);if(a.selector!==w){this.selector=a.selector;this.context=a.context}return c.makeArray(a,this)},selector:"",jquery:"1.4.2",length:0,size:function(){return this.length},toArray:function(){return R.call(this,0)},get:function(a){return a==null?this.toArray():a<0?this.slice(a)[0]:this[a]},pushStack:function(a,b,d){var f=c();c.isArray(a)?ba.apply(f,a):c.merge(f,a);f.prevObject=this;f.context=this.context;if(b=== | ||
| 24 | "find")f.selector=this.selector+(this.selector?" ":"")+d;else if(b)f.selector=this.selector+"."+b+"("+d+")";return f},each:function(a,b){return c.each(this,a,b)},ready:function(a){c.bindReady();if(c.isReady)a.call(s,c);else Q&&Q.push(a);return this},eq:function(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(R.apply(this,arguments),"slice",R.call(arguments).join(","))},map:function(a){return this.pushStack(c.map(this, | ||
| 25 | function(b,d){return a.call(b,d,b)}))},end:function(){return this.prevObject||c(null)},push:ba,sort:[].sort,splice:[].splice};c.fn.init.prototype=c.fn;c.extend=c.fn.extend=function(){var a=arguments[0]||{},b=1,d=arguments.length,f=false,e,j,i,o;if(typeof a==="boolean"){f=a;a=arguments[1]||{};b=2}if(typeof a!=="object"&&!c.isFunction(a))a={};if(d===b){a=this;--b}for(;b<d;b++)if((e=arguments[b])!=null)for(j in e){i=a[j];o=e[j];if(a!==o)if(f&&o&&(c.isPlainObject(o)||c.isArray(o))){i=i&&(c.isPlainObject(i)|| | ||
| 26 | c.isArray(i))?i:c.isArray(o)?[]:{};a[j]=c.extend(f,i,o)}else if(o!==w)a[j]=o}return a};c.extend({noConflict:function(a){A.$=Sa;if(a)A.jQuery=Ra;return c},isReady:false,ready:function(){if(!c.isReady){if(!s.body)return setTimeout(c.ready,13);c.isReady=true;if(Q){for(var a,b=0;a=Q[b++];)a.call(s,c);Q=null}c.fn.triggerHandler&&c(s).triggerHandler("ready")}},bindReady:function(){if(!xa){xa=true;if(s.readyState==="complete")return c.ready();if(s.addEventListener){s.addEventListener("DOMContentLoaded", | ||
| 27 | L,false);A.addEventListener("load",c.ready,false)}else if(s.attachEvent){s.attachEvent("onreadystatechange",L);A.attachEvent("onload",c.ready);var a=false;try{a=A.frameElement==null}catch(b){}s.documentElement.doScroll&&a&&ma()}}},isFunction:function(a){return $.call(a)==="[object Function]"},isArray:function(a){return $.call(a)==="[object Array]"},isPlainObject:function(a){if(!a||$.call(a)!=="[object Object]"||a.nodeType||a.setInterval)return false;if(a.constructor&&!aa.call(a,"constructor")&&!aa.call(a.constructor.prototype, | ||
| 28 | "isPrototypeOf"))return false;var b;for(b in a);return b===w||aa.call(a,b)},isEmptyObject:function(a){for(var b in a)return false;return true},error:function(a){throw a;},parseJSON:function(a){if(typeof a!=="string"||!a)return null;a=c.trim(a);if(/^[\],:{}\s]*$/.test(a.replace(/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,"")))return A.JSON&&A.JSON.parse?A.JSON.parse(a):(new Function("return "+ | ||
| 29 | a))();else c.error("Invalid JSON: "+a)},noop:function(){},globalEval:function(a){if(a&&Va.test(a)){var b=s.getElementsByTagName("head")[0]||s.documentElement,d=s.createElement("script");d.type="text/javascript";if(c.support.scriptEval)d.appendChild(s.createTextNode(a));else d.text=a;b.insertBefore(d,b.firstChild);b.removeChild(d)}},nodeName:function(a,b){return a.nodeName&&a.nodeName.toUpperCase()===b.toUpperCase()},each:function(a,b,d){var f,e=0,j=a.length,i=j===w||c.isFunction(a);if(d)if(i)for(f in a){if(b.apply(a[f], | ||
| 30 | d)===false)break}else for(;e<j;){if(b.apply(a[e++],d)===false)break}else if(i)for(f in a){if(b.call(a[f],f,a[f])===false)break}else for(d=a[0];e<j&&b.call(d,e,d)!==false;d=a[++e]);return a},trim:function(a){return(a||"").replace(Wa,"")},makeArray:function(a,b){b=b||[];if(a!=null)a.length==null||typeof a==="string"||c.isFunction(a)||typeof a!=="function"&&a.setInterval?ba.call(b,a):c.merge(b,a);return b},inArray:function(a,b){if(b.indexOf)return b.indexOf(a);for(var d=0,f=b.length;d<f;d++)if(b[d]=== | ||
| 31 | a)return d;return-1},merge:function(a,b){var d=a.length,f=0;if(typeof b.length==="number")for(var e=b.length;f<e;f++)a[d++]=b[f];else for(;b[f]!==w;)a[d++]=b[f++];a.length=d;return a},grep:function(a,b,d){for(var f=[],e=0,j=a.length;e<j;e++)!d!==!b(a[e],e)&&f.push(a[e]);return f},map:function(a,b,d){for(var f=[],e,j=0,i=a.length;j<i;j++){e=b(a[j],j,d);if(e!=null)f[f.length]=e}return f.concat.apply([],f)},guid:1,proxy:function(a,b,d){if(arguments.length===2)if(typeof b==="string"){d=a;a=d[b];b=w}else if(b&& | ||
| 32 | !c.isFunction(b)){d=b;b=w}if(!b&&a)b=function(){return a.apply(d||this,arguments)};if(a)b.guid=a.guid=a.guid||b.guid||c.guid++;return b},uaMatch:function(a){a=a.toLowerCase();a=/(webkit)[ \/]([\w.]+)/.exec(a)||/(opera)(?:.*version)?[ \/]([\w.]+)/.exec(a)||/(msie) ([\w.]+)/.exec(a)||!/compatible/.test(a)&&/(mozilla)(?:.*? rv:([\w.]+))?/.exec(a)||[];return{browser:a[1]||"",version:a[2]||"0"}},browser:{}});P=c.uaMatch(P);if(P.browser){c.browser[P.browser]=true;c.browser.version=P.version}if(c.browser.webkit)c.browser.safari= | ||
| 33 | true;if(ya)c.inArray=function(a,b){return ya.call(b,a)};T=c(s);if(s.addEventListener)L=function(){s.removeEventListener("DOMContentLoaded",L,false);c.ready()};else if(s.attachEvent)L=function(){if(s.readyState==="complete"){s.detachEvent("onreadystatechange",L);c.ready()}};(function(){c.support={};var a=s.documentElement,b=s.createElement("script"),d=s.createElement("div"),f="script"+J();d.style.display="none";d.innerHTML=" <link/><table></table><a href='/a' style='color:red;float:left;opacity:.55;'>a</a><input type='checkbox'/>"; | ||
| 34 | var e=d.getElementsByTagName("*"),j=d.getElementsByTagName("a")[0];if(!(!e||!e.length||!j)){c.support={leadingWhitespace:d.firstChild.nodeType===3,tbody:!d.getElementsByTagName("tbody").length,htmlSerialize:!!d.getElementsByTagName("link").length,style:/red/.test(j.getAttribute("style")),hrefNormalized:j.getAttribute("href")==="/a",opacity:/^0.55$/.test(j.style.opacity),cssFloat:!!j.style.cssFloat,checkOn:d.getElementsByTagName("input")[0].value==="on",optSelected:s.createElement("select").appendChild(s.createElement("option")).selected, | ||
| 35 | parentNode:d.removeChild(d.appendChild(s.createElement("div"))).parentNode===null,deleteExpando:true,checkClone:false,scriptEval:false,noCloneEvent:true,boxModel:null};b.type="text/javascript";try{b.appendChild(s.createTextNode("window."+f+"=1;"))}catch(i){}a.insertBefore(b,a.firstChild);if(A[f]){c.support.scriptEval=true;delete A[f]}try{delete b.test}catch(o){c.support.deleteExpando=false}a.removeChild(b);if(d.attachEvent&&d.fireEvent){d.attachEvent("onclick",function k(){c.support.noCloneEvent= | ||
| 36 | false;d.detachEvent("onclick",k)});d.cloneNode(true).fireEvent("onclick")}d=s.createElement("div");d.innerHTML="<input type='radio' name='radiotest' checked='checked'/>";a=s.createDocumentFragment();a.appendChild(d.firstChild);c.support.checkClone=a.cloneNode(true).cloneNode(true).lastChild.checked;c(function(){var k=s.createElement("div");k.style.width=k.style.paddingLeft="1px";s.body.appendChild(k);c.boxModel=c.support.boxModel=k.offsetWidth===2;s.body.removeChild(k).style.display="none"});a=function(k){var n= | ||
| 37 | s.createElement("div");k="on"+k;var r=k in n;if(!r){n.setAttribute(k,"return;");r=typeof n[k]==="function"}return r};c.support.submitBubbles=a("submit");c.support.changeBubbles=a("change");a=b=d=e=j=null}})();c.props={"for":"htmlFor","class":"className",readonly:"readOnly",maxlength:"maxLength",cellspacing:"cellSpacing",rowspan:"rowSpan",colspan:"colSpan",tabindex:"tabIndex",usemap:"useMap",frameborder:"frameBorder"};var G="jQuery"+J(),Ya=0,za={};c.extend({cache:{},expando:G,noData:{embed:true,object:true, | ||
| 38 | applet:true},data:function(a,b,d){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var f=a[G],e=c.cache;if(!f&&typeof b==="string"&&d===w)return null;f||(f=++Ya);if(typeof b==="object"){a[G]=f;e[f]=c.extend(true,{},b)}else if(!e[f]){a[G]=f;e[f]={}}a=e[f];if(d!==w)a[b]=d;return typeof b==="string"?a[b]:a}},removeData:function(a,b){if(!(a.nodeName&&c.noData[a.nodeName.toLowerCase()])){a=a==A?za:a;var d=a[G],f=c.cache,e=f[d];if(b){if(e){delete e[b];c.isEmptyObject(e)&&c.removeData(a)}}else{if(c.support.deleteExpando)delete a[c.expando]; | ||
| 39 | else a.removeAttribute&&a.removeAttribute(c.expando);delete f[d]}}}});c.fn.extend({data:function(a,b){if(typeof a==="undefined"&&this.length)return c.data(this[0]);else if(typeof a==="object")return this.each(function(){c.data(this,a)});var d=a.split(".");d[1]=d[1]?"."+d[1]:"";if(b===w){var f=this.triggerHandler("getData"+d[1]+"!",[d[0]]);if(f===w&&this.length)f=c.data(this[0],a);return f===w&&d[1]?this.data(d[0]):f}else return this.trigger("setData"+d[1]+"!",[d[0],b]).each(function(){c.data(this, | ||
| 40 | a,b)})},removeData:function(a){return this.each(function(){c.removeData(this,a)})}});c.extend({queue:function(a,b,d){if(a){b=(b||"fx")+"queue";var f=c.data(a,b);if(!d)return f||[];if(!f||c.isArray(d))f=c.data(a,b,c.makeArray(d));else f.push(d);return f}},dequeue:function(a,b){b=b||"fx";var d=c.queue(a,b),f=d.shift();if(f==="inprogress")f=d.shift();if(f){b==="fx"&&d.unshift("inprogress");f.call(a,function(){c.dequeue(a,b)})}}});c.fn.extend({queue:function(a,b){if(typeof a!=="string"){b=a;a="fx"}if(b=== | ||
| 41 | w)return c.queue(this[0],a);return this.each(function(){var d=c.queue(this,a,b);a==="fx"&&d[0]!=="inprogress"&&c.dequeue(this,a)})},dequeue:function(a){return this.each(function(){c.dequeue(this,a)})},delay:function(a,b){a=c.fx?c.fx.speeds[a]||a:a;b=b||"fx";return this.queue(b,function(){var d=this;setTimeout(function(){c.dequeue(d,b)},a)})},clearQueue:function(a){return this.queue(a||"fx",[])}});var Aa=/[\n\t]/g,ca=/\s+/,Za=/\r/g,$a=/href|src|style/,ab=/(button|input)/i,bb=/(button|input|object|select|textarea)/i, | ||
| 42 | cb=/^(a|area)$/i,Ba=/radio|checkbox/;c.fn.extend({attr:function(a,b){return X(this,a,b,true,c.attr)},removeAttr:function(a){return this.each(function(){c.attr(this,a,"");this.nodeType===1&&this.removeAttribute(a)})},addClass:function(a){if(c.isFunction(a))return this.each(function(n){var r=c(this);r.addClass(a.call(this,n,r.attr("class")))});if(a&&typeof a==="string")for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1)if(e.className){for(var j=" "+e.className+" ", | ||
| 43 | i=e.className,o=0,k=b.length;o<k;o++)if(j.indexOf(" "+b[o]+" ")<0)i+=" "+b[o];e.className=c.trim(i)}else e.className=a}return this},removeClass:function(a){if(c.isFunction(a))return this.each(function(k){var n=c(this);n.removeClass(a.call(this,k,n.attr("class")))});if(a&&typeof a==="string"||a===w)for(var b=(a||"").split(ca),d=0,f=this.length;d<f;d++){var e=this[d];if(e.nodeType===1&&e.className)if(a){for(var j=(" "+e.className+" ").replace(Aa," "),i=0,o=b.length;i<o;i++)j=j.replace(" "+b[i]+" ", | ||
| 44 | " ");e.className=c.trim(j)}else e.className=""}return this},toggleClass:function(a,b){var d=typeof a,f=typeof b==="boolean";if(c.isFunction(a))return this.each(function(e){var j=c(this);j.toggleClass(a.call(this,e,j.attr("class"),b),b)});return this.each(function(){if(d==="string")for(var e,j=0,i=c(this),o=b,k=a.split(ca);e=k[j++];){o=f?o:!i.hasClass(e);i[o?"addClass":"removeClass"](e)}else if(d==="undefined"||d==="boolean"){this.className&&c.data(this,"__className__",this.className);this.className= | ||
| 45 | this.className||a===false?"":c.data(this,"__className__")||""}})},hasClass:function(a){a=" "+a+" ";for(var b=0,d=this.length;b<d;b++)if((" "+this[b].className+" ").replace(Aa," ").indexOf(a)>-1)return true;return false},val:function(a){if(a===w){var b=this[0];if(b){if(c.nodeName(b,"option"))return(b.attributes.value||{}).specified?b.value:b.text;if(c.nodeName(b,"select")){var d=b.selectedIndex,f=[],e=b.options;b=b.type==="select-one";if(d<0)return null;var j=b?d:0;for(d=b?d+1:e.length;j<d;j++){var i= | ||
| 46 | e[j];if(i.selected){a=c(i).val();if(b)return a;f.push(a)}}return f}if(Ba.test(b.type)&&!c.support.checkOn)return b.getAttribute("value")===null?"on":b.value;return(b.value||"").replace(Za,"")}return w}var o=c.isFunction(a);return this.each(function(k){var n=c(this),r=a;if(this.nodeType===1){if(o)r=a.call(this,k,n.val());if(typeof r==="number")r+="";if(c.isArray(r)&&Ba.test(this.type))this.checked=c.inArray(n.val(),r)>=0;else if(c.nodeName(this,"select")){var u=c.makeArray(r);c("option",this).each(function(){this.selected= | ||
| 47 | c.inArray(c(this).val(),u)>=0});if(!u.length)this.selectedIndex=-1}else this.value=r}})}});c.extend({attrFn:{val:true,css:true,html:true,text:true,data:true,width:true,height:true,offset:true},attr:function(a,b,d,f){if(!a||a.nodeType===3||a.nodeType===8)return w;if(f&&b in c.attrFn)return c(a)[b](d);f=a.nodeType!==1||!c.isXMLDoc(a);var e=d!==w;b=f&&c.props[b]||b;if(a.nodeType===1){var j=$a.test(b);if(b in a&&f&&!j){if(e){b==="type"&&ab.test(a.nodeName)&&a.parentNode&&c.error("type property can't be changed"); | ||
| 48 | a[b]=d}if(c.nodeName(a,"form")&&a.getAttributeNode(b))return a.getAttributeNode(b).nodeValue;if(b==="tabIndex")return(b=a.getAttributeNode("tabIndex"))&&b.specified?b.value:bb.test(a.nodeName)||cb.test(a.nodeName)&&a.href?0:w;return a[b]}if(!c.support.style&&f&&b==="style"){if(e)a.style.cssText=""+d;return a.style.cssText}e&&a.setAttribute(b,""+d);a=!c.support.hrefNormalized&&f&&j?a.getAttribute(b,2):a.getAttribute(b);return a===null?w:a}return c.style(a,b,d)}});var O=/\.(.*)$/,db=function(a){return a.replace(/[^\w\s\.\|`]/g, | ||
| 49 | function(b){return"\\"+b})};c.event={add:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){if(a.setInterval&&a!==A&&!a.frameElement)a=A;var e,j;if(d.handler){e=d;d=e.handler}if(!d.guid)d.guid=c.guid++;if(j=c.data(a)){var i=j.events=j.events||{},o=j.handle;if(!o)j.handle=o=function(){return typeof c!=="undefined"&&!c.event.triggered?c.event.handle.apply(o.elem,arguments):w};o.elem=a;b=b.split(" ");for(var k,n=0,r;k=b[n++];){j=e?c.extend({},e):{handler:d,data:f};if(k.indexOf(".")>-1){r=k.split("."); | ||
| 50 | k=r.shift();j.namespace=r.slice(0).sort().join(".")}else{r=[];j.namespace=""}j.type=k;j.guid=d.guid;var u=i[k],z=c.event.special[k]||{};if(!u){u=i[k]=[];if(!z.setup||z.setup.call(a,f,r,o)===false)if(a.addEventListener)a.addEventListener(k,o,false);else a.attachEvent&&a.attachEvent("on"+k,o)}if(z.add){z.add.call(a,j);if(!j.handler.guid)j.handler.guid=d.guid}u.push(j);c.event.global[k]=true}a=null}}},global:{},remove:function(a,b,d,f){if(!(a.nodeType===3||a.nodeType===8)){var e,j=0,i,o,k,n,r,u,z=c.data(a), | ||
| 51 | C=z&&z.events;if(z&&C){if(b&&b.type){d=b.handler;b=b.type}if(!b||typeof b==="string"&&b.charAt(0)==="."){b=b||"";for(e in C)c.event.remove(a,e+b)}else{for(b=b.split(" ");e=b[j++];){n=e;i=e.indexOf(".")<0;o=[];if(!i){o=e.split(".");e=o.shift();k=new RegExp("(^|\\.)"+c.map(o.slice(0).sort(),db).join("\\.(?:.*\\.)?")+"(\\.|$)")}if(r=C[e])if(d){n=c.event.special[e]||{};for(B=f||0;B<r.length;B++){u=r[B];if(d.guid===u.guid){if(i||k.test(u.namespace)){f==null&&r.splice(B--,1);n.remove&&n.remove.call(a,u)}if(f!= | ||
| 52 | null)break}}if(r.length===0||f!=null&&r.length===1){if(!n.teardown||n.teardown.call(a,o)===false)Ca(a,e,z.handle);delete C[e]}}else for(var B=0;B<r.length;B++){u=r[B];if(i||k.test(u.namespace)){c.event.remove(a,n,u.handler,B);r.splice(B--,1)}}}if(c.isEmptyObject(C)){if(b=z.handle)b.elem=null;delete z.events;delete z.handle;c.isEmptyObject(z)&&c.removeData(a)}}}}},trigger:function(a,b,d,f){var e=a.type||a;if(!f){a=typeof a==="object"?a[G]?a:c.extend(c.Event(e),a):c.Event(e);if(e.indexOf("!")>=0){a.type= | ||
| 53 | e=e.slice(0,-1);a.exclusive=true}if(!d){a.stopPropagation();c.event.global[e]&&c.each(c.cache,function(){this.events&&this.events[e]&&c.event.trigger(a,b,this.handle.elem)})}if(!d||d.nodeType===3||d.nodeType===8)return w;a.result=w;a.target=d;b=c.makeArray(b);b.unshift(a)}a.currentTarget=d;(f=c.data(d,"handle"))&&f.apply(d,b);f=d.parentNode||d.ownerDocument;try{if(!(d&&d.nodeName&&c.noData[d.nodeName.toLowerCase()]))if(d["on"+e]&&d["on"+e].apply(d,b)===false)a.result=false}catch(j){}if(!a.isPropagationStopped()&& | ||
| 54 | f)c.event.trigger(a,b,f,true);else if(!a.isDefaultPrevented()){f=a.target;var i,o=c.nodeName(f,"a")&&e==="click",k=c.event.special[e]||{};if((!k._default||k._default.call(d,a)===false)&&!o&&!(f&&f.nodeName&&c.noData[f.nodeName.toLowerCase()])){try{if(f[e]){if(i=f["on"+e])f["on"+e]=null;c.event.triggered=true;f[e]()}}catch(n){}if(i)f["on"+e]=i;c.event.triggered=false}}},handle:function(a){var b,d,f,e;a=arguments[0]=c.event.fix(a||A.event);a.currentTarget=this;b=a.type.indexOf(".")<0&&!a.exclusive; | ||
| 55 | if(!b){d=a.type.split(".");a.type=d.shift();f=new RegExp("(^|\\.)"+d.slice(0).sort().join("\\.(?:.*\\.)?")+"(\\.|$)")}e=c.data(this,"events");d=e[a.type];if(e&&d){d=d.slice(0);e=0;for(var j=d.length;e<j;e++){var i=d[e];if(b||f.test(i.namespace)){a.handler=i.handler;a.data=i.data;a.handleObj=i;i=i.handler.apply(this,arguments);if(i!==w){a.result=i;if(i===false){a.preventDefault();a.stopPropagation()}}if(a.isImmediatePropagationStopped())break}}}return a.result},props:"altKey attrChange attrName bubbles button cancelable charCode clientX clientY ctrlKey currentTarget data detail eventPhase fromElement handler keyCode layerX layerY metaKey newValue offsetX offsetY originalTarget pageX pageY prevValue relatedNode relatedTarget screenX screenY shiftKey srcElement target toElement view wheelDelta which".split(" "), | ||
| 56 | fix:function(a){if(a[G])return a;var b=a;a=c.Event(b);for(var d=this.props.length,f;d;){f=this.props[--d];a[f]=b[f]}if(!a.target)a.target=a.srcElement||s;if(a.target.nodeType===3)a.target=a.target.parentNode;if(!a.relatedTarget&&a.fromElement)a.relatedTarget=a.fromElement===a.target?a.toElement:a.fromElement;if(a.pageX==null&&a.clientX!=null){b=s.documentElement;d=s.body;a.pageX=a.clientX+(b&&b.scrollLeft||d&&d.scrollLeft||0)-(b&&b.clientLeft||d&&d.clientLeft||0);a.pageY=a.clientY+(b&&b.scrollTop|| | ||
| 57 | d&&d.scrollTop||0)-(b&&b.clientTop||d&&d.clientTop||0)}if(!a.which&&(a.charCode||a.charCode===0?a.charCode:a.keyCode))a.which=a.charCode||a.keyCode;if(!a.metaKey&&a.ctrlKey)a.metaKey=a.ctrlKey;if(!a.which&&a.button!==w)a.which=a.button&1?1:a.button&2?3:a.button&4?2:0;return a},guid:1E8,proxy:c.proxy,special:{ready:{setup:c.bindReady,teardown:c.noop},live:{add:function(a){c.event.add(this,a.origType,c.extend({},a,{handler:oa}))},remove:function(a){var b=true,d=a.origType.replace(O,"");c.each(c.data(this, | ||
| 58 | "events").live||[],function(){if(d===this.origType.replace(O,""))return b=false});b&&c.event.remove(this,a.origType,oa)}},beforeunload:{setup:function(a,b,d){if(this.setInterval)this.onbeforeunload=d;return false},teardown:function(a,b){if(this.onbeforeunload===b)this.onbeforeunload=null}}}};var Ca=s.removeEventListener?function(a,b,d){a.removeEventListener(b,d,false)}:function(a,b,d){a.detachEvent("on"+b,d)};c.Event=function(a){if(!this.preventDefault)return new c.Event(a);if(a&&a.type){this.originalEvent= | ||
| 59 | a;this.type=a.type}else this.type=a;this.timeStamp=J();this[G]=true};c.Event.prototype={preventDefault:function(){this.isDefaultPrevented=Z;var a=this.originalEvent;if(a){a.preventDefault&&a.preventDefault();a.returnValue=false}},stopPropagation:function(){this.isPropagationStopped=Z;var a=this.originalEvent;if(a){a.stopPropagation&&a.stopPropagation();a.cancelBubble=true}},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=Z;this.stopPropagation()},isDefaultPrevented:Y,isPropagationStopped:Y, | ||
| 60 | isImmediatePropagationStopped:Y};var Da=function(a){var b=a.relatedTarget;try{for(;b&&b!==this;)b=b.parentNode;if(b!==this){a.type=a.data;c.event.handle.apply(this,arguments)}}catch(d){}},Ea=function(a){a.type=a.data;c.event.handle.apply(this,arguments)};c.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(a,b){c.event.special[a]={setup:function(d){c.event.add(this,b,d&&d.selector?Ea:Da,a)},teardown:function(d){c.event.remove(this,b,d&&d.selector?Ea:Da)}}});if(!c.support.submitBubbles)c.event.special.submit= | ||
| 61 | {setup:function(){if(this.nodeName.toLowerCase()!=="form"){c.event.add(this,"click.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="submit"||d==="image")&&c(b).closest("form").length)return na("submit",this,arguments)});c.event.add(this,"keypress.specialSubmit",function(a){var b=a.target,d=b.type;if((d==="text"||d==="password")&&c(b).closest("form").length&&a.keyCode===13)return na("submit",this,arguments)})}else return false},teardown:function(){c.event.remove(this,".specialSubmit")}}; | ||
| 62 | if(!c.support.changeBubbles){var da=/textarea|input|select/i,ea,Fa=function(a){var b=a.type,d=a.value;if(b==="radio"||b==="checkbox")d=a.checked;else if(b==="select-multiple")d=a.selectedIndex>-1?c.map(a.options,function(f){return f.selected}).join("-"):"";else if(a.nodeName.toLowerCase()==="select")d=a.selectedIndex;return d},fa=function(a,b){var d=a.target,f,e;if(!(!da.test(d.nodeName)||d.readOnly)){f=c.data(d,"_change_data");e=Fa(d);if(a.type!=="focusout"||d.type!=="radio")c.data(d,"_change_data", | ||
| 63 | e);if(!(f===w||e===f))if(f!=null||e){a.type="change";return c.event.trigger(a,b,d)}}};c.event.special.change={filters:{focusout:fa,click:function(a){var b=a.target,d=b.type;if(d==="radio"||d==="checkbox"||b.nodeName.toLowerCase()==="select")return fa.call(this,a)},keydown:function(a){var b=a.target,d=b.type;if(a.keyCode===13&&b.nodeName.toLowerCase()!=="textarea"||a.keyCode===32&&(d==="checkbox"||d==="radio")||d==="select-multiple")return fa.call(this,a)},beforeactivate:function(a){a=a.target;c.data(a, | ||
| 64 | "_change_data",Fa(a))}},setup:function(){if(this.type==="file")return false;for(var a in ea)c.event.add(this,a+".specialChange",ea[a]);return da.test(this.nodeName)},teardown:function(){c.event.remove(this,".specialChange");return da.test(this.nodeName)}};ea=c.event.special.change.filters}s.addEventListener&&c.each({focus:"focusin",blur:"focusout"},function(a,b){function d(f){f=c.event.fix(f);f.type=b;return c.event.handle.call(this,f)}c.event.special[b]={setup:function(){this.addEventListener(a, | ||
| 65 | d,true)},teardown:function(){this.removeEventListener(a,d,true)}}});c.each(["bind","one"],function(a,b){c.fn[b]=function(d,f,e){if(typeof d==="object"){for(var j in d)this[b](j,f,d[j],e);return this}if(c.isFunction(f)){e=f;f=w}var i=b==="one"?c.proxy(e,function(k){c(this).unbind(k,i);return e.apply(this,arguments)}):e;if(d==="unload"&&b!=="one")this.one(d,f,e);else{j=0;for(var o=this.length;j<o;j++)c.event.add(this[j],d,i,f)}return this}});c.fn.extend({unbind:function(a,b){if(typeof a==="object"&& | ||
| 66 | !a.preventDefault)for(var d in a)this.unbind(d,a[d]);else{d=0;for(var f=this.length;d<f;d++)c.event.remove(this[d],a,b)}return this},delegate:function(a,b,d,f){return this.live(b,d,f,a)},undelegate:function(a,b,d){return arguments.length===0?this.unbind("live"):this.die(b,null,d,a)},trigger:function(a,b){return this.each(function(){c.event.trigger(a,b,this)})},triggerHandler:function(a,b){if(this[0]){a=c.Event(a);a.preventDefault();a.stopPropagation();c.event.trigger(a,b,this[0]);return a.result}}, | ||
| 67 | toggle:function(a){for(var b=arguments,d=1;d<b.length;)c.proxy(a,b[d++]);return this.click(c.proxy(a,function(f){var e=(c.data(this,"lastToggle"+a.guid)||0)%d;c.data(this,"lastToggle"+a.guid,e+1);f.preventDefault();return b[e].apply(this,arguments)||false}))},hover:function(a,b){return this.mouseenter(a).mouseleave(b||a)}});var Ga={focus:"focusin",blur:"focusout",mouseenter:"mouseover",mouseleave:"mouseout"};c.each(["live","die"],function(a,b){c.fn[b]=function(d,f,e,j){var i,o=0,k,n,r=j||this.selector, | ||
| 68 | u=j?this:c(this.context);if(c.isFunction(f)){e=f;f=w}for(d=(d||"").split(" ");(i=d[o++])!=null;){j=O.exec(i);k="";if(j){k=j[0];i=i.replace(O,"")}if(i==="hover")d.push("mouseenter"+k,"mouseleave"+k);else{n=i;if(i==="focus"||i==="blur"){d.push(Ga[i]+k);i+=k}else i=(Ga[i]||i)+k;b==="live"?u.each(function(){c.event.add(this,pa(i,r),{data:f,selector:r,handler:e,origType:i,origHandler:e,preType:n})}):u.unbind(pa(i,r),e)}}return this}});c.each("blur focus focusin focusout load resize scroll unload click dblclick mousedown mouseup mousemove mouseover mouseout mouseenter mouseleave change select submit keydown keypress keyup error".split(" "), | ||
| 69 | function(a,b){c.fn[b]=function(d){return d?this.bind(b,d):this.trigger(b)};if(c.attrFn)c.attrFn[b]=true});A.attachEvent&&!A.addEventListener&&A.attachEvent("onunload",function(){for(var a in c.cache)if(c.cache[a].handle)try{c.event.remove(c.cache[a].handle.elem)}catch(b){}});(function(){function a(g){for(var h="",l,m=0;g[m];m++){l=g[m];if(l.nodeType===3||l.nodeType===4)h+=l.nodeValue;else if(l.nodeType!==8)h+=a(l.childNodes)}return h}function b(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q]; | ||
| 70 | if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1&&!p){t.sizcache=l;t.sizset=q}if(t.nodeName.toLowerCase()===h){y=t;break}t=t[g]}m[q]=y}}}function d(g,h,l,m,q,p){q=0;for(var v=m.length;q<v;q++){var t=m[q];if(t){t=t[g];for(var y=false;t;){if(t.sizcache===l){y=m[t.sizset];break}if(t.nodeType===1){if(!p){t.sizcache=l;t.sizset=q}if(typeof h!=="string"){if(t===h){y=true;break}}else if(k.filter(h,[t]).length>0){y=t;break}}t=t[g]}m[q]=y}}}var f=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^[\]]*\]|['"][^'"]*['"]|[^[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g, | ||
| 71 | e=0,j=Object.prototype.toString,i=false,o=true;[0,0].sort(function(){o=false;return 0});var k=function(g,h,l,m){l=l||[];var q=h=h||s;if(h.nodeType!==1&&h.nodeType!==9)return[];if(!g||typeof g!=="string")return l;for(var p=[],v,t,y,S,H=true,M=x(h),I=g;(f.exec(""),v=f.exec(I))!==null;){I=v[3];p.push(v[1]);if(v[2]){S=v[3];break}}if(p.length>1&&r.exec(g))if(p.length===2&&n.relative[p[0]])t=ga(p[0]+p[1],h);else for(t=n.relative[p[0]]?[h]:k(p.shift(),h);p.length;){g=p.shift();if(n.relative[g])g+=p.shift(); | ||
| 72 | t=ga(g,t)}else{if(!m&&p.length>1&&h.nodeType===9&&!M&&n.match.ID.test(p[0])&&!n.match.ID.test(p[p.length-1])){v=k.find(p.shift(),h,M);h=v.expr?k.filter(v.expr,v.set)[0]:v.set[0]}if(h){v=m?{expr:p.pop(),set:z(m)}:k.find(p.pop(),p.length===1&&(p[0]==="~"||p[0]==="+")&&h.parentNode?h.parentNode:h,M);t=v.expr?k.filter(v.expr,v.set):v.set;if(p.length>0)y=z(t);else H=false;for(;p.length;){var D=p.pop();v=D;if(n.relative[D])v=p.pop();else D="";if(v==null)v=h;n.relative[D](y,v,M)}}else y=[]}y||(y=t);y||k.error(D|| | ||
| 73 | g);if(j.call(y)==="[object Array]")if(H)if(h&&h.nodeType===1)for(g=0;y[g]!=null;g++){if(y[g]&&(y[g]===true||y[g].nodeType===1&&E(h,y[g])))l.push(t[g])}else for(g=0;y[g]!=null;g++)y[g]&&y[g].nodeType===1&&l.push(t[g]);else l.push.apply(l,y);else z(y,l);if(S){k(S,q,l,m);k.uniqueSort(l)}return l};k.uniqueSort=function(g){if(B){i=o;g.sort(B);if(i)for(var h=1;h<g.length;h++)g[h]===g[h-1]&&g.splice(h--,1)}return g};k.matches=function(g,h){return k(g,null,null,h)};k.find=function(g,h,l){var m,q;if(!g)return[]; | ||
| 74 | for(var p=0,v=n.order.length;p<v;p++){var t=n.order[p];if(q=n.leftMatch[t].exec(g)){var y=q[1];q.splice(1,1);if(y.substr(y.length-1)!=="\\"){q[1]=(q[1]||"").replace(/\\/g,"");m=n.find[t](q,h,l);if(m!=null){g=g.replace(n.match[t],"");break}}}}m||(m=h.getElementsByTagName("*"));return{set:m,expr:g}};k.filter=function(g,h,l,m){for(var q=g,p=[],v=h,t,y,S=h&&h[0]&&x(h[0]);g&&h.length;){for(var H in n.filter)if((t=n.leftMatch[H].exec(g))!=null&&t[2]){var M=n.filter[H],I,D;D=t[1];y=false;t.splice(1,1);if(D.substr(D.length- | ||
| 75 | 1)!=="\\"){if(v===p)p=[];if(n.preFilter[H])if(t=n.preFilter[H](t,v,l,p,m,S)){if(t===true)continue}else y=I=true;if(t)for(var U=0;(D=v[U])!=null;U++)if(D){I=M(D,t,U,v);var Ha=m^!!I;if(l&&I!=null)if(Ha)y=true;else v[U]=false;else if(Ha){p.push(D);y=true}}if(I!==w){l||(v=p);g=g.replace(n.match[H],"");if(!y)return[];break}}}if(g===q)if(y==null)k.error(g);else break;q=g}return v};k.error=function(g){throw"Syntax error, unrecognized expression: "+g;};var n=k.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF-]|\\.)+)/, | ||
| 76 | CLASS:/\.((?:[\w\u00c0-\uFFFF-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF-]|\\.)+)\s*(?:(\S?=)\s*(['"]*)(.*?)\3|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\((even|odd|[\dn+-]*)\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(g){return g.getAttribute("href")}}, | ||
| 77 | relative:{"+":function(g,h){var l=typeof h==="string",m=l&&!/\W/.test(h);l=l&&!m;if(m)h=h.toLowerCase();m=0;for(var q=g.length,p;m<q;m++)if(p=g[m]){for(;(p=p.previousSibling)&&p.nodeType!==1;);g[m]=l||p&&p.nodeName.toLowerCase()===h?p||false:p===h}l&&k.filter(h,g,true)},">":function(g,h){var l=typeof h==="string";if(l&&!/\W/.test(h)){h=h.toLowerCase();for(var m=0,q=g.length;m<q;m++){var p=g[m];if(p){l=p.parentNode;g[m]=l.nodeName.toLowerCase()===h?l:false}}}else{m=0;for(q=g.length;m<q;m++)if(p=g[m])g[m]= | ||
| 78 | l?p.parentNode:p.parentNode===h;l&&k.filter(h,g,true)}},"":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("parentNode",h,m,g,p,l)},"~":function(g,h,l){var m=e++,q=d;if(typeof h==="string"&&!/\W/.test(h)){var p=h=h.toLowerCase();q=b}q("previousSibling",h,m,g,p,l)}},find:{ID:function(g,h,l){if(typeof h.getElementById!=="undefined"&&!l)return(g=h.getElementById(g[1]))?[g]:[]},NAME:function(g,h){if(typeof h.getElementsByName!=="undefined"){var l=[]; | ||
| 79 | h=h.getElementsByName(g[1]);for(var m=0,q=h.length;m<q;m++)h[m].getAttribute("name")===g[1]&&l.push(h[m]);return l.length===0?null:l}},TAG:function(g,h){return h.getElementsByTagName(g[1])}},preFilter:{CLASS:function(g,h,l,m,q,p){g=" "+g[1].replace(/\\/g,"")+" ";if(p)return g;p=0;for(var v;(v=h[p])!=null;p++)if(v)if(q^(v.className&&(" "+v.className+" ").replace(/[\t\n]/g," ").indexOf(g)>=0))l||m.push(v);else if(l)h[p]=false;return false},ID:function(g){return g[1].replace(/\\/g,"")},TAG:function(g){return g[1].toLowerCase()}, | ||
| 80 | CHILD:function(g){if(g[1]==="nth"){var h=/(-?)(\d*)n((?:\+|-)?\d*)/.exec(g[2]==="even"&&"2n"||g[2]==="odd"&&"2n+1"||!/\D/.test(g[2])&&"0n+"+g[2]||g[2]);g[2]=h[1]+(h[2]||1)-0;g[3]=h[3]-0}g[0]=e++;return g},ATTR:function(g,h,l,m,q,p){h=g[1].replace(/\\/g,"");if(!p&&n.attrMap[h])g[1]=n.attrMap[h];if(g[2]==="~=")g[4]=" "+g[4]+" ";return g},PSEUDO:function(g,h,l,m,q){if(g[1]==="not")if((f.exec(g[3])||"").length>1||/^\w/.test(g[3]))g[3]=k(g[3],null,null,h);else{g=k.filter(g[3],h,l,true^q);l||m.push.apply(m, | ||
| 81 | g);return false}else if(n.match.POS.test(g[0])||n.match.CHILD.test(g[0]))return true;return g},POS:function(g){g.unshift(true);return g}},filters:{enabled:function(g){return g.disabled===false&&g.type!=="hidden"},disabled:function(g){return g.disabled===true},checked:function(g){return g.checked===true},selected:function(g){return g.selected===true},parent:function(g){return!!g.firstChild},empty:function(g){return!g.firstChild},has:function(g,h,l){return!!k(l[3],g).length},header:function(g){return/h\d/i.test(g.nodeName)}, | ||
| 82 | text:function(g){return"text"===g.type},radio:function(g){return"radio"===g.type},checkbox:function(g){return"checkbox"===g.type},file:function(g){return"file"===g.type},password:function(g){return"password"===g.type},submit:function(g){return"submit"===g.type},image:function(g){return"image"===g.type},reset:function(g){return"reset"===g.type},button:function(g){return"button"===g.type||g.nodeName.toLowerCase()==="button"},input:function(g){return/input|select|textarea|button/i.test(g.nodeName)}}, | ||
| 83 | setFilters:{first:function(g,h){return h===0},last:function(g,h,l,m){return h===m.length-1},even:function(g,h){return h%2===0},odd:function(g,h){return h%2===1},lt:function(g,h,l){return h<l[3]-0},gt:function(g,h,l){return h>l[3]-0},nth:function(g,h,l){return l[3]-0===h},eq:function(g,h,l){return l[3]-0===h}},filter:{PSEUDO:function(g,h,l,m){var q=h[1],p=n.filters[q];if(p)return p(g,l,h,m);else if(q==="contains")return(g.textContent||g.innerText||a([g])||"").indexOf(h[3])>=0;else if(q==="not"){h= | ||
| 84 | h[3];l=0;for(m=h.length;l<m;l++)if(h[l]===g)return false;return true}else k.error("Syntax error, unrecognized expression: "+q)},CHILD:function(g,h){var l=h[1],m=g;switch(l){case "only":case "first":for(;m=m.previousSibling;)if(m.nodeType===1)return false;if(l==="first")return true;m=g;case "last":for(;m=m.nextSibling;)if(m.nodeType===1)return false;return true;case "nth":l=h[2];var q=h[3];if(l===1&&q===0)return true;h=h[0];var p=g.parentNode;if(p&&(p.sizcache!==h||!g.nodeIndex)){var v=0;for(m=p.firstChild;m;m= | ||
| 85 | m.nextSibling)if(m.nodeType===1)m.nodeIndex=++v;p.sizcache=h}g=g.nodeIndex-q;return l===0?g===0:g%l===0&&g/l>=0}},ID:function(g,h){return g.nodeType===1&&g.getAttribute("id")===h},TAG:function(g,h){return h==="*"&&g.nodeType===1||g.nodeName.toLowerCase()===h},CLASS:function(g,h){return(" "+(g.className||g.getAttribute("class"))+" ").indexOf(h)>-1},ATTR:function(g,h){var l=h[1];g=n.attrHandle[l]?n.attrHandle[l](g):g[l]!=null?g[l]:g.getAttribute(l);l=g+"";var m=h[2];h=h[4];return g==null?m==="!=":m=== | ||
| 86 | "="?l===h:m==="*="?l.indexOf(h)>=0:m==="~="?(" "+l+" ").indexOf(h)>=0:!h?l&&g!==false:m==="!="?l!==h:m==="^="?l.indexOf(h)===0:m==="$="?l.substr(l.length-h.length)===h:m==="|="?l===h||l.substr(0,h.length+1)===h+"-":false},POS:function(g,h,l,m){var q=n.setFilters[h[2]];if(q)return q(g,l,h,m)}}},r=n.match.POS;for(var u in n.match){n.match[u]=new RegExp(n.match[u].source+/(?![^\[]*\])(?![^\(]*\))/.source);n.leftMatch[u]=new RegExp(/(^(?:.|\r|\n)*?)/.source+n.match[u].source.replace(/\\(\d+)/g,function(g, | ||
| 87 | h){return"\\"+(h-0+1)}))}var z=function(g,h){g=Array.prototype.slice.call(g,0);if(h){h.push.apply(h,g);return h}return g};try{Array.prototype.slice.call(s.documentElement.childNodes,0)}catch(C){z=function(g,h){h=h||[];if(j.call(g)==="[object Array]")Array.prototype.push.apply(h,g);else if(typeof g.length==="number")for(var l=0,m=g.length;l<m;l++)h.push(g[l]);else for(l=0;g[l];l++)h.push(g[l]);return h}}var B;if(s.documentElement.compareDocumentPosition)B=function(g,h){if(!g.compareDocumentPosition|| | ||
| 88 | !h.compareDocumentPosition){if(g==h)i=true;return g.compareDocumentPosition?-1:1}g=g.compareDocumentPosition(h)&4?-1:g===h?0:1;if(g===0)i=true;return g};else if("sourceIndex"in s.documentElement)B=function(g,h){if(!g.sourceIndex||!h.sourceIndex){if(g==h)i=true;return g.sourceIndex?-1:1}g=g.sourceIndex-h.sourceIndex;if(g===0)i=true;return g};else if(s.createRange)B=function(g,h){if(!g.ownerDocument||!h.ownerDocument){if(g==h)i=true;return g.ownerDocument?-1:1}var l=g.ownerDocument.createRange(),m= | ||
| 89 | h.ownerDocument.createRange();l.setStart(g,0);l.setEnd(g,0);m.setStart(h,0);m.setEnd(h,0);g=l.compareBoundaryPoints(Range.START_TO_END,m);if(g===0)i=true;return g};(function(){var g=s.createElement("div"),h="script"+(new Date).getTime();g.innerHTML="<a name='"+h+"'/>";var l=s.documentElement;l.insertBefore(g,l.firstChild);if(s.getElementById(h)){n.find.ID=function(m,q,p){if(typeof q.getElementById!=="undefined"&&!p)return(q=q.getElementById(m[1]))?q.id===m[1]||typeof q.getAttributeNode!=="undefined"&& | ||
| 90 | q.getAttributeNode("id").nodeValue===m[1]?[q]:w:[]};n.filter.ID=function(m,q){var p=typeof m.getAttributeNode!=="undefined"&&m.getAttributeNode("id");return m.nodeType===1&&p&&p.nodeValue===q}}l.removeChild(g);l=g=null})();(function(){var g=s.createElement("div");g.appendChild(s.createComment(""));if(g.getElementsByTagName("*").length>0)n.find.TAG=function(h,l){l=l.getElementsByTagName(h[1]);if(h[1]==="*"){h=[];for(var m=0;l[m];m++)l[m].nodeType===1&&h.push(l[m]);l=h}return l};g.innerHTML="<a href='#'></a>"; | ||
| 91 | if(g.firstChild&&typeof g.firstChild.getAttribute!=="undefined"&&g.firstChild.getAttribute("href")!=="#")n.attrHandle.href=function(h){return h.getAttribute("href",2)};g=null})();s.querySelectorAll&&function(){var g=k,h=s.createElement("div");h.innerHTML="<p class='TEST'></p>";if(!(h.querySelectorAll&&h.querySelectorAll(".TEST").length===0)){k=function(m,q,p,v){q=q||s;if(!v&&q.nodeType===9&&!x(q))try{return z(q.querySelectorAll(m),p)}catch(t){}return g(m,q,p,v)};for(var l in g)k[l]=g[l];h=null}}(); | ||
| 92 | (function(){var g=s.createElement("div");g.innerHTML="<div class='test e'></div><div class='test'></div>";if(!(!g.getElementsByClassName||g.getElementsByClassName("e").length===0)){g.lastChild.className="e";if(g.getElementsByClassName("e").length!==1){n.order.splice(1,0,"CLASS");n.find.CLASS=function(h,l,m){if(typeof l.getElementsByClassName!=="undefined"&&!m)return l.getElementsByClassName(h[1])};g=null}}})();var E=s.compareDocumentPosition?function(g,h){return!!(g.compareDocumentPosition(h)&16)}: | ||
| 93 | function(g,h){return g!==h&&(g.contains?g.contains(h):true)},x=function(g){return(g=(g?g.ownerDocument||g:0).documentElement)?g.nodeName!=="HTML":false},ga=function(g,h){var l=[],m="",q;for(h=h.nodeType?[h]:h;q=n.match.PSEUDO.exec(g);){m+=q[0];g=g.replace(n.match.PSEUDO,"")}g=n.relative[g]?g+"*":g;q=0;for(var p=h.length;q<p;q++)k(g,h[q],l);return k.filter(m,l)};c.find=k;c.expr=k.selectors;c.expr[":"]=c.expr.filters;c.unique=k.uniqueSort;c.text=a;c.isXMLDoc=x;c.contains=E})();var eb=/Until$/,fb=/^(?:parents|prevUntil|prevAll)/, | ||
| 94 | gb=/,/;R=Array.prototype.slice;var Ia=function(a,b,d){if(c.isFunction(b))return c.grep(a,function(e,j){return!!b.call(e,j,e)===d});else if(b.nodeType)return c.grep(a,function(e){return e===b===d});else if(typeof b==="string"){var f=c.grep(a,function(e){return e.nodeType===1});if(Ua.test(b))return c.filter(b,f,!d);else b=c.filter(b,f)}return c.grep(a,function(e){return c.inArray(e,b)>=0===d})};c.fn.extend({find:function(a){for(var b=this.pushStack("","find",a),d=0,f=0,e=this.length;f<e;f++){d=b.length; | ||
| 95 | c.find(a,this[f],b);if(f>0)for(var j=d;j<b.length;j++)for(var i=0;i<d;i++)if(b[i]===b[j]){b.splice(j--,1);break}}return b},has:function(a){var b=c(a);return this.filter(function(){for(var d=0,f=b.length;d<f;d++)if(c.contains(this,b[d]))return true})},not:function(a){return this.pushStack(Ia(this,a,false),"not",a)},filter:function(a){return this.pushStack(Ia(this,a,true),"filter",a)},is:function(a){return!!a&&c.filter(a,this).length>0},closest:function(a,b){if(c.isArray(a)){var d=[],f=this[0],e,j= | ||
| 96 | {},i;if(f&&a.length){e=0;for(var o=a.length;e<o;e++){i=a[e];j[i]||(j[i]=c.expr.match.POS.test(i)?c(i,b||this.context):i)}for(;f&&f.ownerDocument&&f!==b;){for(i in j){e=j[i];if(e.jquery?e.index(f)>-1:c(f).is(e)){d.push({selector:i,elem:f});delete j[i]}}f=f.parentNode}}return d}var k=c.expr.match.POS.test(a)?c(a,b||this.context):null;return this.map(function(n,r){for(;r&&r.ownerDocument&&r!==b;){if(k?k.index(r)>-1:c(r).is(a))return r;r=r.parentNode}return null})},index:function(a){if(!a||typeof a=== | ||
| 97 | "string")return c.inArray(this[0],a?c(a):this.parent().children());return c.inArray(a.jquery?a[0]:a,this)},add:function(a,b){a=typeof a==="string"?c(a,b||this.context):c.makeArray(a);b=c.merge(this.get(),a);return this.pushStack(qa(a[0])||qa(b[0])?b:c.unique(b))},andSelf:function(){return this.add(this.prevObject)}});c.each({parent:function(a){return(a=a.parentNode)&&a.nodeType!==11?a:null},parents:function(a){return c.dir(a,"parentNode")},parentsUntil:function(a,b,d){return c.dir(a,"parentNode", | ||
| 98 | d)},next:function(a){return c.nth(a,2,"nextSibling")},prev:function(a){return c.nth(a,2,"previousSibling")},nextAll:function(a){return c.dir(a,"nextSibling")},prevAll:function(a){return c.dir(a,"previousSibling")},nextUntil:function(a,b,d){return c.dir(a,"nextSibling",d)},prevUntil:function(a,b,d){return c.dir(a,"previousSibling",d)},siblings:function(a){return c.sibling(a.parentNode.firstChild,a)},children:function(a){return c.sibling(a.firstChild)},contents:function(a){return c.nodeName(a,"iframe")? | ||
| 99 | a.contentDocument||a.contentWindow.document:c.makeArray(a.childNodes)}},function(a,b){c.fn[a]=function(d,f){var e=c.map(this,b,d);eb.test(a)||(f=d);if(f&&typeof f==="string")e=c.filter(f,e);e=this.length>1?c.unique(e):e;if((this.length>1||gb.test(f))&&fb.test(a))e=e.reverse();return this.pushStack(e,a,R.call(arguments).join(","))}});c.extend({filter:function(a,b,d){if(d)a=":not("+a+")";return c.find.matches(a,b)},dir:function(a,b,d){var f=[];for(a=a[b];a&&a.nodeType!==9&&(d===w||a.nodeType!==1||!c(a).is(d));){a.nodeType=== | ||
| 100 | 1&&f.push(a);a=a[b]}return f},nth:function(a,b,d){b=b||1;for(var f=0;a;a=a[d])if(a.nodeType===1&&++f===b)break;return a},sibling:function(a,b){for(var d=[];a;a=a.nextSibling)a.nodeType===1&&a!==b&&d.push(a);return d}});var Ja=/ jQuery\d+="(?:\d+|null)"/g,V=/^\s+/,Ka=/(<([\w:]+)[^>]*?)\/>/g,hb=/^(?:area|br|col|embed|hr|img|input|link|meta|param)$/i,La=/<([\w:]+)/,ib=/<tbody/i,jb=/<|&#?\w+;/,ta=/<script|<object|<embed|<option|<style/i,ua=/checked\s*(?:[^=]|=\s*.checked.)/i,Ma=function(a,b,d){return hb.test(d)? | ||
| 101 | a:b+"></"+d+">"},F={option:[1,"<select multiple='multiple'>","</select>"],legend:[1,"<fieldset>","</fieldset>"],thead:[1,"<table>","</table>"],tr:[2,"<table><tbody>","</tbody></table>"],td:[3,"<table><tbody><tr>","</tr></tbody></table>"],col:[2,"<table><tbody></tbody><colgroup>","</colgroup></table>"],area:[1,"<map>","</map>"],_default:[0,"",""]};F.optgroup=F.option;F.tbody=F.tfoot=F.colgroup=F.caption=F.thead;F.th=F.td;if(!c.support.htmlSerialize)F._default=[1,"div<div>","</div>"];c.fn.extend({text:function(a){if(c.isFunction(a))return this.each(function(b){var d= | ||
| 102 | c(this);d.text(a.call(this,b,d.text()))});if(typeof a!=="object"&&a!==w)return this.empty().append((this[0]&&this[0].ownerDocument||s).createTextNode(a));return c.text(this)},wrapAll:function(a){if(c.isFunction(a))return this.each(function(d){c(this).wrapAll(a.call(this,d))});if(this[0]){var b=c(a,this[0].ownerDocument).eq(0).clone(true);this[0].parentNode&&b.insertBefore(this[0]);b.map(function(){for(var d=this;d.firstChild&&d.firstChild.nodeType===1;)d=d.firstChild;return d}).append(this)}return this}, | ||
| 103 | wrapInner:function(a){if(c.isFunction(a))return this.each(function(b){c(this).wrapInner(a.call(this,b))});return this.each(function(){var b=c(this),d=b.contents();d.length?d.wrapAll(a):b.append(a)})},wrap:function(a){return this.each(function(){c(this).wrapAll(a)})},unwrap:function(){return this.parent().each(function(){c.nodeName(this,"body")||c(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.appendChild(a)})}, | ||
| 104 | prepend:function(){return this.domManip(arguments,true,function(a){this.nodeType===1&&this.insertBefore(a,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b,this)});else if(arguments.length){var a=c(arguments[0]);a.push.apply(a,this.toArray());return this.pushStack(a,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,false,function(b){this.parentNode.insertBefore(b, | ||
| 105 | this.nextSibling)});else if(arguments.length){var a=this.pushStack(this,"after",arguments);a.push.apply(a,c(arguments[0]).toArray());return a}},remove:function(a,b){for(var d=0,f;(f=this[d])!=null;d++)if(!a||c.filter(a,[f]).length){if(!b&&f.nodeType===1){c.cleanData(f.getElementsByTagName("*"));c.cleanData([f])}f.parentNode&&f.parentNode.removeChild(f)}return this},empty:function(){for(var a=0,b;(b=this[a])!=null;a++)for(b.nodeType===1&&c.cleanData(b.getElementsByTagName("*"));b.firstChild;)b.removeChild(b.firstChild); | ||
| 106 | return this},clone:function(a){var b=this.map(function(){if(!c.support.noCloneEvent&&!c.isXMLDoc(this)){var d=this.outerHTML,f=this.ownerDocument;if(!d){d=f.createElement("div");d.appendChild(this.cloneNode(true));d=d.innerHTML}return c.clean([d.replace(Ja,"").replace(/=([^="'>\s]+\/)>/g,'="$1">').replace(V,"")],f)[0]}else return this.cloneNode(true)});if(a===true){ra(this,b);ra(this.find("*"),b.find("*"))}return b},html:function(a){if(a===w)return this[0]&&this[0].nodeType===1?this[0].innerHTML.replace(Ja, | ||
| 107 | ""):null;else if(typeof a==="string"&&!ta.test(a)&&(c.support.leadingWhitespace||!V.test(a))&&!F[(La.exec(a)||["",""])[1].toLowerCase()]){a=a.replace(Ka,Ma);try{for(var b=0,d=this.length;b<d;b++)if(this[b].nodeType===1){c.cleanData(this[b].getElementsByTagName("*"));this[b].innerHTML=a}}catch(f){this.empty().append(a)}}else c.isFunction(a)?this.each(function(e){var j=c(this),i=j.html();j.empty().append(function(){return a.call(this,e,i)})}):this.empty().append(a);return this},replaceWith:function(a){if(this[0]&& | ||
| 108 | this[0].parentNode){if(c.isFunction(a))return this.each(function(b){var d=c(this),f=d.html();d.replaceWith(a.call(this,b,f))});if(typeof a!=="string")a=c(a).detach();return this.each(function(){var b=this.nextSibling,d=this.parentNode;c(this).remove();b?c(b).before(a):c(d).append(a)})}else return this.pushStack(c(c.isFunction(a)?a():a),"replaceWith",a)},detach:function(a){return this.remove(a,true)},domManip:function(a,b,d){function f(u){return c.nodeName(u,"table")?u.getElementsByTagName("tbody")[0]|| | ||
| 109 | u.appendChild(u.ownerDocument.createElement("tbody")):u}var e,j,i=a[0],o=[],k;if(!c.support.checkClone&&arguments.length===3&&typeof i==="string"&&ua.test(i))return this.each(function(){c(this).domManip(a,b,d,true)});if(c.isFunction(i))return this.each(function(u){var z=c(this);a[0]=i.call(this,u,b?z.html():w);z.domManip(a,b,d)});if(this[0]){e=i&&i.parentNode;e=c.support.parentNode&&e&&e.nodeType===11&&e.childNodes.length===this.length?{fragment:e}:sa(a,this,o);k=e.fragment;if(j=k.childNodes.length=== | ||
| 110 | 1?(k=k.firstChild):k.firstChild){b=b&&c.nodeName(j,"tr");for(var n=0,r=this.length;n<r;n++)d.call(b?f(this[n],j):this[n],n>0||e.cacheable||this.length>1?k.cloneNode(true):k)}o.length&&c.each(o,Qa)}return this}});c.fragments={};c.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(a,b){c.fn[a]=function(d){var f=[];d=c(d);var e=this.length===1&&this[0].parentNode;if(e&&e.nodeType===11&&e.childNodes.length===1&&d.length===1){d[b](this[0]); | ||
| 111 | return this}else{e=0;for(var j=d.length;e<j;e++){var i=(e>0?this.clone(true):this).get();c.fn[b].apply(c(d[e]),i);f=f.concat(i)}return this.pushStack(f,a,d.selector)}}});c.extend({clean:function(a,b,d,f){b=b||s;if(typeof b.createElement==="undefined")b=b.ownerDocument||b[0]&&b[0].ownerDocument||s;for(var e=[],j=0,i;(i=a[j])!=null;j++){if(typeof i==="number")i+="";if(i){if(typeof i==="string"&&!jb.test(i))i=b.createTextNode(i);else if(typeof i==="string"){i=i.replace(Ka,Ma);var o=(La.exec(i)||["", | ||
| 112 | ""])[1].toLowerCase(),k=F[o]||F._default,n=k[0],r=b.createElement("div");for(r.innerHTML=k[1]+i+k[2];n--;)r=r.lastChild;if(!c.support.tbody){n=ib.test(i);o=o==="table"&&!n?r.firstChild&&r.firstChild.childNodes:k[1]==="<table>"&&!n?r.childNodes:[];for(k=o.length-1;k>=0;--k)c.nodeName(o[k],"tbody")&&!o[k].childNodes.length&&o[k].parentNode.removeChild(o[k])}!c.support.leadingWhitespace&&V.test(i)&&r.insertBefore(b.createTextNode(V.exec(i)[0]),r.firstChild);i=r.childNodes}if(i.nodeType)e.push(i);else e= | ||
| 113 | c.merge(e,i)}}if(d)for(j=0;e[j];j++)if(f&&c.nodeName(e[j],"script")&&(!e[j].type||e[j].type.toLowerCase()==="text/javascript"))f.push(e[j].parentNode?e[j].parentNode.removeChild(e[j]):e[j]);else{e[j].nodeType===1&&e.splice.apply(e,[j+1,0].concat(c.makeArray(e[j].getElementsByTagName("script"))));d.appendChild(e[j])}return e},cleanData:function(a){for(var b,d,f=c.cache,e=c.event.special,j=c.support.deleteExpando,i=0,o;(o=a[i])!=null;i++)if(d=o[c.expando]){b=f[d];if(b.events)for(var k in b.events)e[k]? | ||
| 114 | c.event.remove(o,k):Ca(o,k,b.handle);if(j)delete o[c.expando];else o.removeAttribute&&o.removeAttribute(c.expando);delete f[d]}}});var kb=/z-?index|font-?weight|opacity|zoom|line-?height/i,Na=/alpha\([^)]*\)/,Oa=/opacity=([^)]*)/,ha=/float/i,ia=/-([a-z])/ig,lb=/([A-Z])/g,mb=/^-?\d+(?:px)?$/i,nb=/^-?\d/,ob={position:"absolute",visibility:"hidden",display:"block"},pb=["Left","Right"],qb=["Top","Bottom"],rb=s.defaultView&&s.defaultView.getComputedStyle,Pa=c.support.cssFloat?"cssFloat":"styleFloat",ja= | ||
| 115 | function(a,b){return b.toUpperCase()};c.fn.css=function(a,b){return X(this,a,b,true,function(d,f,e){if(e===w)return c.curCSS(d,f);if(typeof e==="number"&&!kb.test(f))e+="px";c.style(d,f,e)})};c.extend({style:function(a,b,d){if(!a||a.nodeType===3||a.nodeType===8)return w;if((b==="width"||b==="height")&&parseFloat(d)<0)d=w;var f=a.style||a,e=d!==w;if(!c.support.opacity&&b==="opacity"){if(e){f.zoom=1;b=parseInt(d,10)+""==="NaN"?"":"alpha(opacity="+d*100+")";a=f.filter||c.curCSS(a,"filter")||"";f.filter= | ||
| 116 | Na.test(a)?a.replace(Na,b):b}return f.filter&&f.filter.indexOf("opacity=")>=0?parseFloat(Oa.exec(f.filter)[1])/100+"":""}if(ha.test(b))b=Pa;b=b.replace(ia,ja);if(e)f[b]=d;return f[b]},css:function(a,b,d,f){if(b==="width"||b==="height"){var e,j=b==="width"?pb:qb;function i(){e=b==="width"?a.offsetWidth:a.offsetHeight;f!=="border"&&c.each(j,function(){f||(e-=parseFloat(c.curCSS(a,"padding"+this,true))||0);if(f==="margin")e+=parseFloat(c.curCSS(a,"margin"+this,true))||0;else e-=parseFloat(c.curCSS(a, | ||
| 117 | "border"+this+"Width",true))||0})}a.offsetWidth!==0?i():c.swap(a,ob,i);return Math.max(0,Math.round(e))}return c.curCSS(a,b,d)},curCSS:function(a,b,d){var f,e=a.style;if(!c.support.opacity&&b==="opacity"&&a.currentStyle){f=Oa.test(a.currentStyle.filter||"")?parseFloat(RegExp.$1)/100+"":"";return f===""?"1":f}if(ha.test(b))b=Pa;if(!d&&e&&e[b])f=e[b];else if(rb){if(ha.test(b))b="float";b=b.replace(lb,"-$1").toLowerCase();e=a.ownerDocument.defaultView;if(!e)return null;if(a=e.getComputedStyle(a,null))f= | ||
| 118 | a.getPropertyValue(b);if(b==="opacity"&&f==="")f="1"}else if(a.currentStyle){d=b.replace(ia,ja);f=a.currentStyle[b]||a.currentStyle[d];if(!mb.test(f)&&nb.test(f)){b=e.left;var j=a.runtimeStyle.left;a.runtimeStyle.left=a.currentStyle.left;e.left=d==="fontSize"?"1em":f||0;f=e.pixelLeft+"px";e.left=b;a.runtimeStyle.left=j}}return f},swap:function(a,b,d){var f={};for(var e in b){f[e]=a.style[e];a.style[e]=b[e]}d.call(a);for(e in b)a.style[e]=f[e]}});if(c.expr&&c.expr.filters){c.expr.filters.hidden=function(a){var b= | ||
| 119 | a.offsetWidth,d=a.offsetHeight,f=a.nodeName.toLowerCase()==="tr";return b===0&&d===0&&!f?true:b>0&&d>0&&!f?false:c.curCSS(a,"display")==="none"};c.expr.filters.visible=function(a){return!c.expr.filters.hidden(a)}}var sb=J(),tb=/<script(.|\s)*?\/script>/gi,ub=/select|textarea/i,vb=/color|date|datetime|email|hidden|month|number|password|range|search|tel|text|time|url|week/i,N=/=\?(&|$)/,ka=/\?/,wb=/(\?|&)_=.*?(&|$)/,xb=/^(\w+:)?\/\/([^\/?#]+)/,yb=/%20/g,zb=c.fn.load;c.fn.extend({load:function(a,b,d){if(typeof a!== | ||
| 120 | "string")return zb.call(this,a);else if(!this.length)return this;var f=a.indexOf(" ");if(f>=0){var e=a.slice(f,a.length);a=a.slice(0,f)}f="GET";if(b)if(c.isFunction(b)){d=b;b=null}else if(typeof b==="object"){b=c.param(b,c.ajaxSettings.traditional);f="POST"}var j=this;c.ajax({url:a,type:f,dataType:"html",data:b,complete:function(i,o){if(o==="success"||o==="notmodified")j.html(e?c("<div />").append(i.responseText.replace(tb,"")).find(e):i.responseText);d&&j.each(d,[i.responseText,o,i])}});return this}, | ||
| 121 | serialize:function(){return c.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?c.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||ub.test(this.nodeName)||vb.test(this.type))}).map(function(a,b){a=c(this).val();return a==null?null:c.isArray(a)?c.map(a,function(d){return{name:b.name,value:d}}):{name:b.name,value:a}}).get()}});c.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "), | ||
| 122 | function(a,b){c.fn[b]=function(d){return this.bind(b,d)}});c.extend({get:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b=null}return c.ajax({type:"GET",url:a,data:b,success:d,dataType:f})},getScript:function(a,b){return c.get(a,null,b,"script")},getJSON:function(a,b,d){return c.get(a,b,d,"json")},post:function(a,b,d,f){if(c.isFunction(b)){f=f||d;d=b;b={}}return c.ajax({type:"POST",url:a,data:b,success:d,dataType:f})},ajaxSetup:function(a){c.extend(c.ajaxSettings,a)},ajaxSettings:{url:location.href, | ||
| 123 | global:true,type:"GET",contentType:"application/x-www-form-urlencoded",processData:true,async:true,xhr:A.XMLHttpRequest&&(A.location.protocol!=="file:"||!A.ActiveXObject)?function(){return new A.XMLHttpRequest}:function(){try{return new A.ActiveXObject("Microsoft.XMLHTTP")}catch(a){}},accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}},lastModified:{},etag:{},ajax:function(a){function b(){e.success&& | ||
| 124 | e.success.call(k,o,i,x);e.global&&f("ajaxSuccess",[x,e])}function d(){e.complete&&e.complete.call(k,x,i);e.global&&f("ajaxComplete",[x,e]);e.global&&!--c.active&&c.event.trigger("ajaxStop")}function f(q,p){(e.context?c(e.context):c.event).trigger(q,p)}var e=c.extend(true,{},c.ajaxSettings,a),j,i,o,k=a&&a.context||e,n=e.type.toUpperCase();if(e.data&&e.processData&&typeof e.data!=="string")e.data=c.param(e.data,e.traditional);if(e.dataType==="jsonp"){if(n==="GET")N.test(e.url)||(e.url+=(ka.test(e.url)? | ||
| 125 | "&":"?")+(e.jsonp||"callback")+"=?");else if(!e.data||!N.test(e.data))e.data=(e.data?e.data+"&":"")+(e.jsonp||"callback")+"=?";e.dataType="json"}if(e.dataType==="json"&&(e.data&&N.test(e.data)||N.test(e.url))){j=e.jsonpCallback||"jsonp"+sb++;if(e.data)e.data=(e.data+"").replace(N,"="+j+"$1");e.url=e.url.replace(N,"="+j+"$1");e.dataType="script";A[j]=A[j]||function(q){o=q;b();d();A[j]=w;try{delete A[j]}catch(p){}z&&z.removeChild(C)}}if(e.dataType==="script"&&e.cache===null)e.cache=false;if(e.cache=== | ||
| 126 | false&&n==="GET"){var r=J(),u=e.url.replace(wb,"$1_="+r+"$2");e.url=u+(u===e.url?(ka.test(e.url)?"&":"?")+"_="+r:"")}if(e.data&&n==="GET")e.url+=(ka.test(e.url)?"&":"?")+e.data;e.global&&!c.active++&&c.event.trigger("ajaxStart");r=(r=xb.exec(e.url))&&(r[1]&&r[1]!==location.protocol||r[2]!==location.host);if(e.dataType==="script"&&n==="GET"&&r){var z=s.getElementsByTagName("head")[0]||s.documentElement,C=s.createElement("script");C.src=e.url;if(e.scriptCharset)C.charset=e.scriptCharset;if(!j){var B= | ||
| 127 | false;C.onload=C.onreadystatechange=function(){if(!B&&(!this.readyState||this.readyState==="loaded"||this.readyState==="complete")){B=true;b();d();C.onload=C.onreadystatechange=null;z&&C.parentNode&&z.removeChild(C)}}}z.insertBefore(C,z.firstChild);return w}var E=false,x=e.xhr();if(x){e.username?x.open(n,e.url,e.async,e.username,e.password):x.open(n,e.url,e.async);try{if(e.data||a&&a.contentType)x.setRequestHeader("Content-Type",e.contentType);if(e.ifModified){c.lastModified[e.url]&&x.setRequestHeader("If-Modified-Since", | ||
| 128 | c.lastModified[e.url]);c.etag[e.url]&&x.setRequestHeader("If-None-Match",c.etag[e.url])}r||x.setRequestHeader("X-Requested-With","XMLHttpRequest");x.setRequestHeader("Accept",e.dataType&&e.accepts[e.dataType]?e.accepts[e.dataType]+", */*":e.accepts._default)}catch(ga){}if(e.beforeSend&&e.beforeSend.call(k,x,e)===false){e.global&&!--c.active&&c.event.trigger("ajaxStop");x.abort();return false}e.global&&f("ajaxSend",[x,e]);var g=x.onreadystatechange=function(q){if(!x||x.readyState===0||q==="abort"){E|| | ||
| 129 | d();E=true;if(x)x.onreadystatechange=c.noop}else if(!E&&x&&(x.readyState===4||q==="timeout")){E=true;x.onreadystatechange=c.noop;i=q==="timeout"?"timeout":!c.httpSuccess(x)?"error":e.ifModified&&c.httpNotModified(x,e.url)?"notmodified":"success";var p;if(i==="success")try{o=c.httpData(x,e.dataType,e)}catch(v){i="parsererror";p=v}if(i==="success"||i==="notmodified")j||b();else c.handleError(e,x,i,p);d();q==="timeout"&&x.abort();if(e.async)x=null}};try{var h=x.abort;x.abort=function(){x&&h.call(x); | ||
| 130 | g("abort")}}catch(l){}e.async&&e.timeout>0&&setTimeout(function(){x&&!E&&g("timeout")},e.timeout);try{x.send(n==="POST"||n==="PUT"||n==="DELETE"?e.data:null)}catch(m){c.handleError(e,x,null,m);d()}e.async||g();return x}},handleError:function(a,b,d,f){if(a.error)a.error.call(a.context||a,b,d,f);if(a.global)(a.context?c(a.context):c.event).trigger("ajaxError",[b,a,f])},active:0,httpSuccess:function(a){try{return!a.status&&location.protocol==="file:"||a.status>=200&&a.status<300||a.status===304||a.status=== | ||
| 131 | 1223||a.status===0}catch(b){}return false},httpNotModified:function(a,b){var d=a.getResponseHeader("Last-Modified"),f=a.getResponseHeader("Etag");if(d)c.lastModified[b]=d;if(f)c.etag[b]=f;return a.status===304||a.status===0},httpData:function(a,b,d){var f=a.getResponseHeader("content-type")||"",e=b==="xml"||!b&&f.indexOf("xml")>=0;a=e?a.responseXML:a.responseText;e&&a.documentElement.nodeName==="parsererror"&&c.error("parsererror");if(d&&d.dataFilter)a=d.dataFilter(a,b);if(typeof a==="string")if(b=== | ||
| 132 | "json"||!b&&f.indexOf("json")>=0)a=c.parseJSON(a);else if(b==="script"||!b&&f.indexOf("javascript")>=0)c.globalEval(a);return a},param:function(a,b){function d(i,o){if(c.isArray(o))c.each(o,function(k,n){b||/\[\]$/.test(i)?f(i,n):d(i+"["+(typeof n==="object"||c.isArray(n)?k:"")+"]",n)});else!b&&o!=null&&typeof o==="object"?c.each(o,function(k,n){d(i+"["+k+"]",n)}):f(i,o)}function f(i,o){o=c.isFunction(o)?o():o;e[e.length]=encodeURIComponent(i)+"="+encodeURIComponent(o)}var e=[];if(b===w)b=c.ajaxSettings.traditional; | ||
| 133 | if(c.isArray(a)||a.jquery)c.each(a,function(){f(this.name,this.value)});else for(var j in a)d(j,a[j]);return e.join("&").replace(yb,"+")}});var la={},Ab=/toggle|show|hide/,Bb=/^([+-]=)?([\d+-.]+)(.*)$/,W,va=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]];c.fn.extend({show:function(a,b){if(a||a===0)return this.animate(K("show",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay"); | ||
| 134 | this[a].style.display=d||"";if(c.css(this[a],"display")==="none"){d=this[a].nodeName;var f;if(la[d])f=la[d];else{var e=c("<"+d+" />").appendTo("body");f=e.css("display");if(f==="none")f="block";e.remove();la[d]=f}c.data(this[a],"olddisplay",f)}}a=0;for(b=this.length;a<b;a++)this[a].style.display=c.data(this[a],"olddisplay")||"";return this}},hide:function(a,b){if(a||a===0)return this.animate(K("hide",3),a,b);else{a=0;for(b=this.length;a<b;a++){var d=c.data(this[a],"olddisplay");!d&&d!=="none"&&c.data(this[a], | ||
| 135 | "olddisplay",c.css(this[a],"display"))}a=0;for(b=this.length;a<b;a++)this[a].style.display="none";return this}},_toggle:c.fn.toggle,toggle:function(a,b){var d=typeof a==="boolean";if(c.isFunction(a)&&c.isFunction(b))this._toggle.apply(this,arguments);else a==null||d?this.each(function(){var f=d?a:c(this).is(":hidden");c(this)[f?"show":"hide"]()}):this.animate(K("toggle",3),a,b);return this},fadeTo:function(a,b,d){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:b},a,d)}, | ||
| 136 | animate:function(a,b,d,f){var e=c.speed(b,d,f);if(c.isEmptyObject(a))return this.each(e.complete);return this[e.queue===false?"each":"queue"](function(){var j=c.extend({},e),i,o=this.nodeType===1&&c(this).is(":hidden"),k=this;for(i in a){var n=i.replace(ia,ja);if(i!==n){a[n]=a[i];delete a[i];i=n}if(a[i]==="hide"&&o||a[i]==="show"&&!o)return j.complete.call(this);if((i==="height"||i==="width")&&this.style){j.display=c.css(this,"display");j.overflow=this.style.overflow}if(c.isArray(a[i])){(j.specialEasing= | ||
| 137 | j.specialEasing||{})[i]=a[i][1];a[i]=a[i][0]}}if(j.overflow!=null)this.style.overflow="hidden";j.curAnim=c.extend({},a);c.each(a,function(r,u){var z=new c.fx(k,j,r);if(Ab.test(u))z[u==="toggle"?o?"show":"hide":u](a);else{var C=Bb.exec(u),B=z.cur(true)||0;if(C){u=parseFloat(C[2]);var E=C[3]||"px";if(E!=="px"){k.style[r]=(u||1)+E;B=(u||1)/z.cur(true)*B;k.style[r]=B+E}if(C[1])u=(C[1]==="-="?-1:1)*u+B;z.custom(B,u,E)}else z.custom(B,u,"")}});return true})},stop:function(a,b){var d=c.timers;a&&this.queue([]); | ||
| 138 | this.each(function(){for(var f=d.length-1;f>=0;f--)if(d[f].elem===this){b&&d[f](true);d.splice(f,1)}});b||this.dequeue();return this}});c.each({slideDown:K("show",1),slideUp:K("hide",1),slideToggle:K("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"}},function(a,b){c.fn[a]=function(d,f){return this.animate(b,d,f)}});c.extend({speed:function(a,b,d){var f=a&&typeof a==="object"?a:{complete:d||!d&&b||c.isFunction(a)&&a,duration:a,easing:d&&b||b&&!c.isFunction(b)&&b};f.duration=c.fx.off?0:typeof f.duration=== | ||
| 139 | "number"?f.duration:c.fx.speeds[f.duration]||c.fx.speeds._default;f.old=f.complete;f.complete=function(){f.queue!==false&&c(this).dequeue();c.isFunction(f.old)&&f.old.call(this)};return f},easing:{linear:function(a,b,d,f){return d+f*a},swing:function(a,b,d,f){return(-Math.cos(a*Math.PI)/2+0.5)*f+d}},timers:[],fx:function(a,b,d){this.options=b;this.elem=a;this.prop=d;if(!b.orig)b.orig={}}});c.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this);(c.fx.step[this.prop]|| | ||
| 140 | c.fx.step._default)(this);if((this.prop==="height"||this.prop==="width")&&this.elem.style)this.elem.style.display="block"},cur:function(a){if(this.elem[this.prop]!=null&&(!this.elem.style||this.elem.style[this.prop]==null))return this.elem[this.prop];return(a=parseFloat(c.css(this.elem,this.prop,a)))&&a>-10000?a:parseFloat(c.curCSS(this.elem,this.prop))||0},custom:function(a,b,d){function f(j){return e.step(j)}this.startTime=J();this.start=a;this.end=b;this.unit=d||this.unit||"px";this.now=this.start; | ||
| 141 | this.pos=this.state=0;var e=this;f.elem=this.elem;if(f()&&c.timers.push(f)&&!W)W=setInterval(c.fx.tick,13)},show:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.show=true;this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur());c(this.elem).show()},hide:function(){this.options.orig[this.prop]=c.style(this.elem,this.prop);this.options.hide=true;this.custom(this.cur(),0)},step:function(a){var b=J(),d=true;if(a||b>=this.options.duration+this.startTime){this.now= | ||
| 142 | this.end;this.pos=this.state=1;this.update();this.options.curAnim[this.prop]=true;for(var f in this.options.curAnim)if(this.options.curAnim[f]!==true)d=false;if(d){if(this.options.display!=null){this.elem.style.overflow=this.options.overflow;a=c.data(this.elem,"olddisplay");this.elem.style.display=a?a:this.options.display;if(c.css(this.elem,"display")==="none")this.elem.style.display="block"}this.options.hide&&c(this.elem).hide();if(this.options.hide||this.options.show)for(var e in this.options.curAnim)c.style(this.elem, | ||
| 143 | e,this.options.orig[e]);this.options.complete.call(this.elem)}return false}else{e=b-this.startTime;this.state=e/this.options.duration;a=this.options.easing||(c.easing.swing?"swing":"linear");this.pos=c.easing[this.options.specialEasing&&this.options.specialEasing[this.prop]||a](this.state,e,0,1,this.options.duration);this.now=this.start+(this.end-this.start)*this.pos;this.update()}return true}};c.extend(c.fx,{tick:function(){for(var a=c.timers,b=0;b<a.length;b++)a[b]()||a.splice(b--,1);a.length|| | ||
| 144 | c.fx.stop()},stop:function(){clearInterval(W);W=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(a){c.style(a.elem,"opacity",a.now)},_default:function(a){if(a.elem.style&&a.elem.style[a.prop]!=null)a.elem.style[a.prop]=(a.prop==="width"||a.prop==="height"?Math.max(0,a.now):a.now)+a.unit;else a.elem[a.prop]=a.now}}});if(c.expr&&c.expr.filters)c.expr.filters.animated=function(a){return c.grep(c.timers,function(b){return a===b.elem}).length};c.fn.offset="getBoundingClientRect"in s.documentElement? | ||
| 145 | function(a){var b=this[0];if(a)return this.each(function(e){c.offset.setOffset(this,a,e)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);var d=b.getBoundingClientRect(),f=b.ownerDocument;b=f.body;f=f.documentElement;return{top:d.top+(self.pageYOffset||c.support.boxModel&&f.scrollTop||b.scrollTop)-(f.clientTop||b.clientTop||0),left:d.left+(self.pageXOffset||c.support.boxModel&&f.scrollLeft||b.scrollLeft)-(f.clientLeft||b.clientLeft||0)}}:function(a){var b= | ||
| 146 | this[0];if(a)return this.each(function(r){c.offset.setOffset(this,a,r)});if(!b||!b.ownerDocument)return null;if(b===b.ownerDocument.body)return c.offset.bodyOffset(b);c.offset.initialize();var d=b.offsetParent,f=b,e=b.ownerDocument,j,i=e.documentElement,o=e.body;f=(e=e.defaultView)?e.getComputedStyle(b,null):b.currentStyle;for(var k=b.offsetTop,n=b.offsetLeft;(b=b.parentNode)&&b!==o&&b!==i;){if(c.offset.supportsFixedPosition&&f.position==="fixed")break;j=e?e.getComputedStyle(b,null):b.currentStyle; | ||
| 147 | k-=b.scrollTop;n-=b.scrollLeft;if(b===d){k+=b.offsetTop;n+=b.offsetLeft;if(c.offset.doesNotAddBorder&&!(c.offset.doesAddBorderForTableAndCells&&/^t(able|d|h)$/i.test(b.nodeName))){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=d;d=b.offsetParent}if(c.offset.subtractsBorderForOverflowNotVisible&&j.overflow!=="visible"){k+=parseFloat(j.borderTopWidth)||0;n+=parseFloat(j.borderLeftWidth)||0}f=j}if(f.position==="relative"||f.position==="static"){k+=o.offsetTop;n+=o.offsetLeft}if(c.offset.supportsFixedPosition&& | ||
| 148 | f.position==="fixed"){k+=Math.max(i.scrollTop,o.scrollTop);n+=Math.max(i.scrollLeft,o.scrollLeft)}return{top:k,left:n}};c.offset={initialize:function(){var a=s.body,b=s.createElement("div"),d,f,e,j=parseFloat(c.curCSS(a,"marginTop",true))||0;c.extend(b.style,{position:"absolute",top:0,left:0,margin:0,border:0,width:"1px",height:"1px",visibility:"hidden"});b.innerHTML="<div style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;'><div></div></div><table style='position:absolute;top:0;left:0;margin:0;border:5px solid #000;padding:0;width:1px;height:1px;' cellpadding='0' cellspacing='0'><tr><td></td></tr></table>"; | ||
| 149 | a.insertBefore(b,a.firstChild);d=b.firstChild;f=d.firstChild;e=d.nextSibling.firstChild.firstChild;this.doesNotAddBorder=f.offsetTop!==5;this.doesAddBorderForTableAndCells=e.offsetTop===5;f.style.position="fixed";f.style.top="20px";this.supportsFixedPosition=f.offsetTop===20||f.offsetTop===15;f.style.position=f.style.top="";d.style.overflow="hidden";d.style.position="relative";this.subtractsBorderForOverflowNotVisible=f.offsetTop===-5;this.doesNotIncludeMarginInBodyOffset=a.offsetTop!==j;a.removeChild(b); | ||
| 150 | c.offset.initialize=c.noop},bodyOffset:function(a){var b=a.offsetTop,d=a.offsetLeft;c.offset.initialize();if(c.offset.doesNotIncludeMarginInBodyOffset){b+=parseFloat(c.curCSS(a,"marginTop",true))||0;d+=parseFloat(c.curCSS(a,"marginLeft",true))||0}return{top:b,left:d}},setOffset:function(a,b,d){if(/static/.test(c.curCSS(a,"position")))a.style.position="relative";var f=c(a),e=f.offset(),j=parseInt(c.curCSS(a,"top",true),10)||0,i=parseInt(c.curCSS(a,"left",true),10)||0;if(c.isFunction(b))b=b.call(a, | ||
| 151 | d,e);d={top:b.top-e.top+j,left:b.left-e.left+i};"using"in b?b.using.call(a,d):f.css(d)}};c.fn.extend({position:function(){if(!this[0])return null;var a=this[0],b=this.offsetParent(),d=this.offset(),f=/^body|html$/i.test(b[0].nodeName)?{top:0,left:0}:b.offset();d.top-=parseFloat(c.curCSS(a,"marginTop",true))||0;d.left-=parseFloat(c.curCSS(a,"marginLeft",true))||0;f.top+=parseFloat(c.curCSS(b[0],"borderTopWidth",true))||0;f.left+=parseFloat(c.curCSS(b[0],"borderLeftWidth",true))||0;return{top:d.top- | ||
| 152 | f.top,left:d.left-f.left}},offsetParent:function(){return this.map(function(){for(var a=this.offsetParent||s.body;a&&!/^body|html$/i.test(a.nodeName)&&c.css(a,"position")==="static";)a=a.offsetParent;return a})}});c.each(["Left","Top"],function(a,b){var d="scroll"+b;c.fn[d]=function(f){var e=this[0],j;if(!e)return null;if(f!==w)return this.each(function(){if(j=wa(this))j.scrollTo(!a?f:c(j).scrollLeft(),a?f:c(j).scrollTop());else this[d]=f});else return(j=wa(e))?"pageXOffset"in j?j[a?"pageYOffset": | ||
| 153 | "pageXOffset"]:c.support.boxModel&&j.document.documentElement[d]||j.document.body[d]:e[d]}});c.each(["Height","Width"],function(a,b){var d=b.toLowerCase();c.fn["inner"+b]=function(){return this[0]?c.css(this[0],d,false,"padding"):null};c.fn["outer"+b]=function(f){return this[0]?c.css(this[0],d,false,f?"margin":"border"):null};c.fn[d]=function(f){var e=this[0];if(!e)return f==null?null:this;if(c.isFunction(f))return this.each(function(j){var i=c(this);i[d](f.call(this,j,i[d]()))});return"scrollTo"in | ||
| 154 | e&&e.document?e.document.compatMode==="CSS1Compat"&&e.document.documentElement["client"+b]||e.document.body["client"+b]:e.nodeType===9?Math.max(e.documentElement["client"+b],e.body["scroll"+b],e.documentElement["scroll"+b],e.body["offset"+b],e.documentElement["offset"+b]):f===w?c.css(e,d):this.css(d,typeof f==="string"?f:f+"px")}});A.jQuery=A.$=c})(window); | ||
diff --git a/manual/_static/searchtools.js b/manual/_static/searchtools.js index 663be4c9..6e1f06bd 100644 --- a/manual/_static/searchtools.js +++ b/manual/_static/searchtools.js | |||
| @@ -4,38 +4,11 @@ | |||
| 4 | * | 4 | * |
| 5 | * Sphinx JavaScript utilties for the full-text search. | 5 | * Sphinx JavaScript utilties for the full-text search. |
| 6 | * | 6 | * |
| 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 7 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 8 | * :license: BSD, see LICENSE for details. | 8 | * :license: BSD, see LICENSE for details. |
| 9 | * | 9 | * |
| 10 | */ | 10 | */ |
| 11 | 11 | ||
| 12 | /** | ||
| 13 | * helper function to return a node containing the | ||
| 14 | * search summary for a given text. keywords is a list | ||
| 15 | * of stemmed words, hlwords is the list of normal, unstemmed | ||
| 16 | * words. the first one is used to find the occurance, the | ||
| 17 | * latter for highlighting it. | ||
| 18 | */ | ||
| 19 | |||
| 20 | jQuery.makeSearchSummary = function(text, keywords, hlwords) { | ||
| 21 | var textLower = text.toLowerCase(); | ||
| 22 | var start = 0; | ||
| 23 | $.each(keywords, function() { | ||
| 24 | var i = textLower.indexOf(this.toLowerCase()); | ||
| 25 | if (i > -1) | ||
| 26 | start = i; | ||
| 27 | }); | ||
| 28 | start = Math.max(start - 120, 0); | ||
| 29 | var excerpt = ((start > 0) ? '...' : '') + | ||
| 30 | $.trim(text.substr(start, 240)) + | ||
| 31 | ((start + 240 - text.length) ? '...' : ''); | ||
| 32 | var rv = $('<div class="context"></div>').text(excerpt); | ||
| 33 | $.each(hlwords, function() { | ||
| 34 | rv = rv.highlightText(this, 'highlighted'); | ||
| 35 | }); | ||
| 36 | return rv; | ||
| 37 | } | ||
| 38 | |||
| 39 | 12 | ||
| 40 | /** | 13 | /** |
| 41 | * Porter Stemmer | 14 | * Porter Stemmer |
| @@ -220,6 +193,38 @@ var Stemmer = function() { | |||
| 220 | } | 193 | } |
| 221 | 194 | ||
| 222 | 195 | ||
| 196 | |||
| 197 | /** | ||
| 198 | * Simple result scoring code. | ||
| 199 | */ | ||
| 200 | var Scorer = { | ||
| 201 | // Implement the following function to further tweak the score for each result | ||
| 202 | // The function takes a result array [filename, title, anchor, descr, score] | ||
| 203 | // and returns the new score. | ||
| 204 | /* | ||
| 205 | score: function(result) { | ||
| 206 | return result[4]; | ||
| 207 | }, | ||
| 208 | */ | ||
| 209 | |||
| 210 | // query matches the full name of an object | ||
| 211 | objNameMatch: 11, | ||
| 212 | // or matches in the last dotted part of the object name | ||
| 213 | objPartialMatch: 6, | ||
| 214 | // Additive scores depending on the priority of the object | ||
| 215 | objPrio: {0: 15, // used to be importantResults | ||
| 216 | 1: 5, // used to be objectResults | ||
| 217 | 2: -5}, // used to be unimportantResults | ||
| 218 | // Used when the priority is not in the mapping. | ||
| 219 | objPrioDefault: 0, | ||
| 220 | |||
| 221 | // query found in title | ||
| 222 | title: 15, | ||
| 223 | // query found in terms | ||
| 224 | term: 5 | ||
| 225 | }; | ||
| 226 | |||
| 227 | |||
| 223 | /** | 228 | /** |
| 224 | * Search Module | 229 | * Search Module |
| 225 | */ | 230 | */ |
| @@ -239,8 +244,13 @@ var Search = { | |||
| 239 | }, | 244 | }, |
| 240 | 245 | ||
| 241 | loadIndex : function(url) { | 246 | loadIndex : function(url) { |
| 242 | $.ajax({type: "GET", url: url, data: null, success: null, | 247 | $.ajax({type: "GET", url: url, data: null, |
| 243 | dataType: "script", cache: true}); | 248 | dataType: "script", cache: true, |
| 249 | complete: function(jqxhr, textstatus) { | ||
| 250 | if (textstatus != "success") { | ||
| 251 | document.getElementById("searchindexloader").src = url; | ||
| 252 | } | ||
| 253 | }}); | ||
| 244 | }, | 254 | }, |
| 245 | 255 | ||
| 246 | setIndex : function(index) { | 256 | setIndex : function(index) { |
| @@ -268,19 +278,20 @@ var Search = { | |||
| 268 | if (this._pulse_status >= 0) | 278 | if (this._pulse_status >= 0) |
| 269 | return; | 279 | return; |
| 270 | function pulse() { | 280 | function pulse() { |
| 281 | var i; | ||
| 271 | Search._pulse_status = (Search._pulse_status + 1) % 4; | 282 | Search._pulse_status = (Search._pulse_status + 1) % 4; |
| 272 | var dotString = ''; | 283 | var dotString = ''; |
| 273 | for (var i = 0; i < Search._pulse_status; i++) | 284 | for (i = 0; i < Search._pulse_status; i++) |
| 274 | dotString += '.'; | 285 | dotString += '.'; |
| 275 | Search.dots.text(dotString); | 286 | Search.dots.text(dotString); |
| 276 | if (Search._pulse_status > -1) | 287 | if (Search._pulse_status > -1) |
| 277 | window.setTimeout(pulse, 500); | 288 | window.setTimeout(pulse, 500); |
| 278 | }; | 289 | } |
| 279 | pulse(); | 290 | pulse(); |
| 280 | }, | 291 | }, |
| 281 | 292 | ||
| 282 | /** | 293 | /** |
| 283 | * perform a search for something | 294 | * perform a search for something (or wait until index is loaded) |
| 284 | */ | 295 | */ |
| 285 | performSearch : function(query) { | 296 | performSearch : function(query) { |
| 286 | // create the required interface elements | 297 | // create the required interface elements |
| @@ -300,41 +311,46 @@ var Search = { | |||
| 300 | this.deferQuery(query); | 311 | this.deferQuery(query); |
| 301 | }, | 312 | }, |
| 302 | 313 | ||
| 314 | /** | ||
| 315 | * execute search (requires search index to be loaded) | ||
| 316 | */ | ||
| 303 | query : function(query) { | 317 | query : function(query) { |
| 304 | var stopwords = ["and","then","into","it","as","are","in","if","for","no","there","their","was","is","be","to","that","but","they","not","such","with","by","a","on","these","of","will","this","near","the","or","at"]; | 318 | var i; |
| 319 | var stopwords = ["a","and","are","as","at","be","but","by","for","if","in","into","is","it","near","no","not","of","on","or","such","that","the","their","then","there","these","they","this","to","was","will","with"]; | ||
| 305 | 320 | ||
| 306 | // Stem the searchterms and add them to the correct list | 321 | // stem the searchterms and add them to the correct list |
| 307 | var stemmer = new Stemmer(); | 322 | var stemmer = new Stemmer(); |
| 308 | var searchterms = []; | 323 | var searchterms = []; |
| 309 | var excluded = []; | 324 | var excluded = []; |
| 310 | var hlterms = []; | 325 | var hlterms = []; |
| 311 | var tmp = query.split(/\s+/); | 326 | var tmp = query.split(/\s+/); |
| 312 | var objectterms = []; | 327 | var objectterms = []; |
| 313 | for (var i = 0; i < tmp.length; i++) { | 328 | for (i = 0; i < tmp.length; i++) { |
| 314 | if (tmp[i] != "") { | 329 | if (tmp[i] !== "") { |
| 315 | objectterms.push(tmp[i].toLowerCase()); | 330 | objectterms.push(tmp[i].toLowerCase()); |
| 316 | } | 331 | } |
| 317 | 332 | ||
| 318 | if ($u.indexOf(stopwords, tmp[i]) != -1 || tmp[i].match(/^\d+$/) || | 333 | if ($u.indexOf(stopwords, tmp[i].toLowerCase()) != -1 || tmp[i].match(/^\d+$/) || |
| 319 | tmp[i] == "") { | 334 | tmp[i] === "") { |
| 320 | // skip this "word" | 335 | // skip this "word" |
| 321 | continue; | 336 | continue; |
| 322 | } | 337 | } |
| 323 | // stem the word | 338 | // stem the word |
| 324 | var word = stemmer.stemWord(tmp[i]).toLowerCase(); | 339 | var word = stemmer.stemWord(tmp[i].toLowerCase()); |
| 340 | var toAppend; | ||
| 325 | // select the correct list | 341 | // select the correct list |
| 326 | if (word[0] == '-') { | 342 | if (word[0] == '-') { |
| 327 | var toAppend = excluded; | 343 | toAppend = excluded; |
| 328 | word = word.substr(1); | 344 | word = word.substr(1); |
| 329 | } | 345 | } |
| 330 | else { | 346 | else { |
| 331 | var toAppend = searchterms; | 347 | toAppend = searchterms; |
| 332 | hlterms.push(tmp[i].toLowerCase()); | 348 | hlterms.push(tmp[i].toLowerCase()); |
| 333 | } | 349 | } |
| 334 | // only add if not already in the list | 350 | // only add if not already in the list |
| 335 | if (!$.contains(toAppend, word)) | 351 | if (!$u.contains(toAppend, word)) |
| 336 | toAppend.push(word); | 352 | toAppend.push(word); |
| 337 | }; | 353 | } |
| 338 | var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" ")); | 354 | var highlightstring = '?highlight=' + $.urlencode(hlterms.join(" ")); |
| 339 | 355 | ||
| 340 | // console.debug('SEARCH: searching for:'); | 356 | // console.debug('SEARCH: searching for:'); |
| @@ -342,89 +358,51 @@ var Search = { | |||
| 342 | // console.info('excluded: ', excluded); | 358 | // console.info('excluded: ', excluded); |
| 343 | 359 | ||
| 344 | // prepare search | 360 | // prepare search |
| 345 | var filenames = this._index.filenames; | ||
| 346 | var titles = this._index.titles; | ||
| 347 | var terms = this._index.terms; | 361 | var terms = this._index.terms; |
| 348 | var fileMap = {}; | 362 | var titleterms = this._index.titleterms; |
| 349 | var files = null; | 363 | |
| 350 | // different result priorities | 364 | // array of [filename, title, anchor, descr, score] |
| 351 | var importantResults = []; | 365 | var results = []; |
| 352 | var objectResults = []; | ||
| 353 | var regularResults = []; | ||
| 354 | var unimportantResults = []; | ||
| 355 | $('#search-progress').empty(); | 366 | $('#search-progress').empty(); |
| 356 | 367 | ||
| 357 | // lookup as object | 368 | // lookup as object |
| 358 | for (var i = 0; i < objectterms.length; i++) { | 369 | for (i = 0; i < objectterms.length; i++) { |
| 359 | var others = [].concat(objectterms.slice(0,i), | 370 | var others = [].concat(objectterms.slice(0, i), |
| 360 | objectterms.slice(i+1, objectterms.length)) | 371 | objectterms.slice(i+1, objectterms.length)); |
| 361 | var results = this.performObjectSearch(objectterms[i], others); | 372 | results = results.concat(this.performObjectSearch(objectterms[i], others)); |
| 362 | // Assume first word is most likely to be the object, | ||
| 363 | // other words more likely to be in description. | ||
| 364 | // Therefore put matches for earlier words first. | ||
| 365 | // (Results are eventually used in reverse order). | ||
| 366 | objectResults = results[0].concat(objectResults); | ||
| 367 | importantResults = results[1].concat(importantResults); | ||
| 368 | unimportantResults = results[2].concat(unimportantResults); | ||
| 369 | } | 373 | } |
| 370 | 374 | ||
| 371 | // perform the search on the required terms | 375 | // lookup as search terms in fulltext |
| 372 | for (var i = 0; i < searchterms.length; i++) { | 376 | results = results.concat(this.performTermsSearch(searchterms, excluded, terms, Scorer.term)) |
| 373 | var word = searchterms[i]; | 377 | .concat(this.performTermsSearch(searchterms, excluded, titleterms, Scorer.title)); |
| 374 | // no match but word was a required one | ||
| 375 | if ((files = terms[word]) == null) | ||
| 376 | break; | ||
| 377 | if (files.length == undefined) { | ||
| 378 | files = [files]; | ||
| 379 | } | ||
| 380 | // create the mapping | ||
| 381 | for (var j = 0; j < files.length; j++) { | ||
| 382 | var file = files[j]; | ||
| 383 | if (file in fileMap) | ||
| 384 | fileMap[file].push(word); | ||
| 385 | else | ||
| 386 | fileMap[file] = [word]; | ||
| 387 | } | ||
| 388 | } | ||
| 389 | |||
| 390 | // now check if the files don't contain excluded terms | ||
| 391 | for (var file in fileMap) { | ||
| 392 | var valid = true; | ||
| 393 | |||
| 394 | // check if all requirements are matched | ||
| 395 | if (fileMap[file].length != searchterms.length) | ||
| 396 | continue; | ||
| 397 | |||
| 398 | // ensure that none of the excluded terms is in the | ||
| 399 | // search result. | ||
| 400 | for (var i = 0; i < excluded.length; i++) { | ||
| 401 | if (terms[excluded[i]] == file || | ||
| 402 | $.contains(terms[excluded[i]] || [], file)) { | ||
| 403 | valid = false; | ||
| 404 | break; | ||
| 405 | } | ||
| 406 | } | ||
| 407 | 378 | ||
| 408 | // if we have still a valid result we can add it | 379 | // let the scorer override scores with a custom scoring function |
| 409 | // to the result list | 380 | if (Scorer.score) { |
| 410 | if (valid) | 381 | for (i = 0; i < results.length; i++) |
| 411 | regularResults.push([filenames[file], titles[file], '', null]); | 382 | results[i][4] = Scorer.score(results[i]); |
| 412 | } | 383 | } |
| 413 | 384 | ||
| 414 | // delete unused variables in order to not waste | 385 | // now sort the results by score (in opposite order of appearance, since the |
| 415 | // memory until list is retrieved completely | 386 | // display function below uses pop() to retrieve items) and then |
| 416 | delete filenames, titles, terms; | 387 | // alphabetically |
| 417 | 388 | results.sort(function(a, b) { | |
| 418 | // now sort the regular results descending by title | 389 | var left = a[4]; |
| 419 | regularResults.sort(function(a, b) { | 390 | var right = b[4]; |
| 420 | var left = a[1].toLowerCase(); | 391 | if (left > right) { |
| 421 | var right = b[1].toLowerCase(); | 392 | return 1; |
| 422 | return (left > right) ? -1 : ((left < right) ? 1 : 0); | 393 | } else if (left < right) { |
| 394 | return -1; | ||
| 395 | } else { | ||
| 396 | // same score: sort alphabetically | ||
| 397 | left = a[1].toLowerCase(); | ||
| 398 | right = b[1].toLowerCase(); | ||
| 399 | return (left > right) ? -1 : ((left < right) ? 1 : 0); | ||
| 400 | } | ||
| 423 | }); | 401 | }); |
| 424 | 402 | ||
| 425 | // combine all results | 403 | // for debugging |
| 426 | var results = unimportantResults.concat(regularResults) | 404 | //Search.lastresults = results.slice(); // a copy |
| 427 | .concat(objectResults).concat(importantResults); | 405 | //console.info('search results:', Search.lastresults); |
| 428 | 406 | ||
| 429 | // print the results | 407 | // print the results |
| 430 | var resultCount = results.length; | 408 | var resultCount = results.length; |
| @@ -433,7 +411,7 @@ var Search = { | |||
| 433 | if (results.length) { | 411 | if (results.length) { |
| 434 | var item = results.pop(); | 412 | var item = results.pop(); |
| 435 | var listItem = $('<li style="display:none"></li>'); | 413 | var listItem = $('<li style="display:none"></li>'); |
| 436 | if (DOCUMENTATION_OPTIONS.FILE_SUFFIX == '') { | 414 | if (DOCUMENTATION_OPTIONS.FILE_SUFFIX === '') { |
| 437 | // dirhtml builder | 415 | // dirhtml builder |
| 438 | var dirname = item[0] + '/'; | 416 | var dirname = item[0] + '/'; |
| 439 | if (dirname.match(/\/index\/$/)) { | 417 | if (dirname.match(/\/index\/$/)) { |
| @@ -457,16 +435,18 @@ var Search = { | |||
| 457 | displayNextItem(); | 435 | displayNextItem(); |
| 458 | }); | 436 | }); |
| 459 | } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { | 437 | } else if (DOCUMENTATION_OPTIONS.HAS_SOURCE) { |
| 460 | $.get(DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + | 438 | $.ajax({url: DOCUMENTATION_OPTIONS.URL_ROOT + '_sources/' + item[0] + '.txt', |
| 461 | item[0] + '.txt', function(data) { | 439 | dataType: "text", |
| 462 | if (data != '') { | 440 | complete: function(jqxhr, textstatus) { |
| 463 | listItem.append($.makeSearchSummary(data, searchterms, hlterms)); | 441 | var data = jqxhr.responseText; |
| 464 | Search.output.append(listItem); | 442 | if (data !== '') { |
| 465 | } | 443 | listItem.append(Search.makeSearchSummary(data, searchterms, hlterms)); |
| 466 | listItem.slideDown(5, function() { | 444 | } |
| 467 | displayNextItem(); | 445 | Search.output.append(listItem); |
| 468 | }); | 446 | listItem.slideDown(5, function() { |
| 469 | }, "text"); | 447 | displayNextItem(); |
| 448 | }); | ||
| 449 | }}); | ||
| 470 | } else { | 450 | } else { |
| 471 | // no source available, just display title | 451 | // no source available, just display title |
| 472 | Search.output.append(listItem); | 452 | Search.output.append(listItem); |
| @@ -489,20 +469,32 @@ var Search = { | |||
| 489 | displayNextItem(); | 469 | displayNextItem(); |
| 490 | }, | 470 | }, |
| 491 | 471 | ||
| 472 | /** | ||
| 473 | * search for object names | ||
| 474 | */ | ||
| 492 | performObjectSearch : function(object, otherterms) { | 475 | performObjectSearch : function(object, otherterms) { |
| 493 | var filenames = this._index.filenames; | 476 | var filenames = this._index.filenames; |
| 494 | var objects = this._index.objects; | 477 | var objects = this._index.objects; |
| 495 | var objnames = this._index.objnames; | 478 | var objnames = this._index.objnames; |
| 496 | var titles = this._index.titles; | 479 | var titles = this._index.titles; |
| 497 | 480 | ||
| 498 | var importantResults = []; | 481 | var i; |
| 499 | var objectResults = []; | 482 | var results = []; |
| 500 | var unimportantResults = []; | ||
| 501 | 483 | ||
| 502 | for (var prefix in objects) { | 484 | for (var prefix in objects) { |
| 503 | for (var name in objects[prefix]) { | 485 | for (var name in objects[prefix]) { |
| 504 | var fullname = (prefix ? prefix + '.' : '') + name; | 486 | var fullname = (prefix ? prefix + '.' : '') + name; |
| 505 | if (fullname.toLowerCase().indexOf(object) > -1) { | 487 | if (fullname.toLowerCase().indexOf(object) > -1) { |
| 488 | var score = 0; | ||
| 489 | var parts = fullname.split('.'); | ||
| 490 | // check for different match types: exact matches of full name or | ||
| 491 | // "last name" (i.e. last dotted part) | ||
| 492 | if (fullname == object || parts[parts.length - 1] == object) { | ||
| 493 | score += Scorer.objNameMatch; | ||
| 494 | // matches in last name | ||
| 495 | } else if (parts[parts.length - 1].indexOf(object) > -1) { | ||
| 496 | score += Scorer.objPartialMatch; | ||
| 497 | } | ||
| 506 | var match = objects[prefix][name]; | 498 | var match = objects[prefix][name]; |
| 507 | var objname = objnames[match[1]][2]; | 499 | var objname = objnames[match[1]][2]; |
| 508 | var title = titles[match[0]]; | 500 | var title = titles[match[0]]; |
| @@ -512,7 +504,7 @@ var Search = { | |||
| 512 | var haystack = (prefix + ' ' + name + ' ' + | 504 | var haystack = (prefix + ' ' + name + ' ' + |
| 513 | objname + ' ' + title).toLowerCase(); | 505 | objname + ' ' + title).toLowerCase(); |
| 514 | var allfound = true; | 506 | var allfound = true; |
| 515 | for (var i = 0; i < otherterms.length; i++) { | 507 | for (i = 0; i < otherterms.length; i++) { |
| 516 | if (haystack.indexOf(otherterms[i]) == -1) { | 508 | if (haystack.indexOf(otherterms[i]) == -1) { |
| 517 | allfound = false; | 509 | allfound = false; |
| 518 | break; | 510 | break; |
| @@ -523,37 +515,107 @@ var Search = { | |||
| 523 | } | 515 | } |
| 524 | } | 516 | } |
| 525 | var descr = objname + _(', in ') + title; | 517 | var descr = objname + _(', in ') + title; |
| 526 | anchor = match[3]; | 518 | |
| 527 | if (anchor == '') | 519 | var anchor = match[3]; |
| 520 | if (anchor === '') | ||
| 528 | anchor = fullname; | 521 | anchor = fullname; |
| 529 | else if (anchor == '-') | 522 | else if (anchor == '-') |
| 530 | anchor = objnames[match[1]][1] + '-' + fullname; | 523 | anchor = objnames[match[1]][1] + '-' + fullname; |
| 531 | result = [filenames[match[0]], fullname, '#'+anchor, descr]; | 524 | // add custom score for some objects according to scorer |
| 532 | switch (match[2]) { | 525 | if (Scorer.objPrio.hasOwnProperty(match[2])) { |
| 533 | case 1: objectResults.push(result); break; | 526 | score += Scorer.objPrio[match[2]]; |
| 534 | case 0: importantResults.push(result); break; | 527 | } else { |
| 535 | case 2: unimportantResults.push(result); break; | 528 | score += Scorer.objPrioDefault; |
| 536 | } | 529 | } |
| 530 | results.push([filenames[match[0]], fullname, '#'+anchor, descr, score]); | ||
| 537 | } | 531 | } |
| 538 | } | 532 | } |
| 539 | } | 533 | } |
| 540 | 534 | ||
| 541 | // sort results descending | 535 | return results; |
| 542 | objectResults.sort(function(a, b) { | 536 | }, |
| 543 | return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0); | ||
| 544 | }); | ||
| 545 | 537 | ||
| 546 | importantResults.sort(function(a, b) { | 538 | /** |
| 547 | return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0); | 539 | * search for full-text terms in the index |
| 548 | }); | 540 | */ |
| 541 | performTermsSearch : function(searchterms, excluded, terms, score) { | ||
| 542 | var filenames = this._index.filenames; | ||
| 543 | var titles = this._index.titles; | ||
| 549 | 544 | ||
| 550 | unimportantResults.sort(function(a, b) { | 545 | var i, j, file, files; |
| 551 | return (a[1] > b[1]) ? -1 : ((a[1] < b[1]) ? 1 : 0); | 546 | var fileMap = {}; |
| 552 | }); | 547 | var results = []; |
| 548 | |||
| 549 | // perform the search on the required terms | ||
| 550 | for (i = 0; i < searchterms.length; i++) { | ||
| 551 | var word = searchterms[i]; | ||
| 552 | // no match but word was a required one | ||
| 553 | if ((files = terms[word]) === undefined) | ||
| 554 | break; | ||
| 555 | if (files.length === undefined) { | ||
| 556 | files = [files]; | ||
| 557 | } | ||
| 558 | // create the mapping | ||
| 559 | for (j = 0; j < files.length; j++) { | ||
| 560 | file = files[j]; | ||
| 561 | if (file in fileMap) | ||
| 562 | fileMap[file].push(word); | ||
| 563 | else | ||
| 564 | fileMap[file] = [word]; | ||
| 565 | } | ||
| 566 | } | ||
| 567 | |||
| 568 | // now check if the files don't contain excluded terms | ||
| 569 | for (file in fileMap) { | ||
| 570 | var valid = true; | ||
| 571 | |||
| 572 | // check if all requirements are matched | ||
| 573 | if (fileMap[file].length != searchterms.length) | ||
| 574 | continue; | ||
| 575 | |||
| 576 | // ensure that none of the excluded terms is in the search result | ||
| 577 | for (i = 0; i < excluded.length; i++) { | ||
| 578 | if (terms[excluded[i]] == file || | ||
| 579 | $u.contains(terms[excluded[i]] || [], file)) { | ||
| 580 | valid = false; | ||
| 581 | break; | ||
| 582 | } | ||
| 583 | } | ||
| 584 | |||
| 585 | // if we have still a valid result we can add it to the result list | ||
| 586 | if (valid) { | ||
| 587 | results.push([filenames[file], titles[file], '', null, score]); | ||
| 588 | } | ||
| 589 | } | ||
| 590 | return results; | ||
| 591 | }, | ||
| 553 | 592 | ||
| 554 | return [importantResults, objectResults, unimportantResults] | 593 | /** |
| 594 | * helper function to return a node containing the | ||
| 595 | * search summary for a given text. keywords is a list | ||
| 596 | * of stemmed words, hlwords is the list of normal, unstemmed | ||
| 597 | * words. the first one is used to find the occurance, the | ||
| 598 | * latter for highlighting it. | ||
| 599 | */ | ||
| 600 | makeSearchSummary : function(text, keywords, hlwords) { | ||
| 601 | var textLower = text.toLowerCase(); | ||
| 602 | var start = 0; | ||
| 603 | $.each(keywords, function() { | ||
| 604 | var i = textLower.indexOf(this.toLowerCase()); | ||
| 605 | if (i > -1) | ||
| 606 | start = i; | ||
| 607 | }); | ||
| 608 | start = Math.max(start - 120, 0); | ||
| 609 | var excerpt = ((start > 0) ? '...' : '') + | ||
| 610 | $.trim(text.substr(start, 240)) + | ||
| 611 | ((start + 240 - text.length) ? '...' : ''); | ||
| 612 | var rv = $('<div class="context"></div>').text(excerpt); | ||
| 613 | $.each(hlwords, function() { | ||
| 614 | rv = rv.highlightText(this, 'highlighted'); | ||
| 615 | }); | ||
| 616 | return rv; | ||
| 555 | } | 617 | } |
| 556 | } | 618 | }; |
| 557 | 619 | ||
| 558 | $(document).ready(function() { | 620 | $(document).ready(function() { |
| 559 | Search.init(); | 621 | Search.init(); |
diff --git a/manual/_static/sidebar.js b/manual/_static/sidebar.js index a45e1926..4f09a0df 100644 --- a/manual/_static/sidebar.js +++ b/manual/_static/sidebar.js | |||
| @@ -16,12 +16,20 @@ | |||
| 16 | * Once the browser is closed the cookie is deleted and the position | 16 | * Once the browser is closed the cookie is deleted and the position |
| 17 | * reset to the default (expanded). | 17 | * reset to the default (expanded). |
| 18 | * | 18 | * |
| 19 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 19 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 20 | * :license: BSD, see LICENSE for details. | 20 | * :license: BSD, see LICENSE for details. |
| 21 | * | 21 | * |
| 22 | */ | 22 | */ |
| 23 | 23 | ||
| 24 | $(function() { | 24 | $(function() { |
| 25 | |||
| 26 | |||
| 27 | |||
| 28 | |||
| 29 | |||
| 30 | |||
| 31 | |||
| 32 | |||
| 25 | // global elements used by the functions. | 33 | // global elements used by the functions. |
| 26 | // the 'sidebarbutton' element is defined as global after its | 34 | // the 'sidebarbutton' element is defined as global after its |
| 27 | // creation, in the add_sidebar_button function | 35 | // creation, in the add_sidebar_button function |
| @@ -134,7 +142,7 @@ $(function() { | |||
| 134 | var items = document.cookie.split(';'); | 142 | var items = document.cookie.split(';'); |
| 135 | for(var k=0; k<items.length; k++) { | 143 | for(var k=0; k<items.length; k++) { |
| 136 | var key_val = items[k].split('='); | 144 | var key_val = items[k].split('='); |
| 137 | var key = key_val[0]; | 145 | var key = key_val[0].replace(/ /, ""); // strip leading spaces |
| 138 | if (key == 'sidebar') { | 146 | if (key == 'sidebar') { |
| 139 | var value = key_val[1]; | 147 | var value = key_val[1]; |
| 140 | if ((value == 'collapsed') && (!sidebar_is_collapsed())) | 148 | if ((value == 'collapsed') && (!sidebar_is_collapsed())) |
| @@ -148,4 +156,4 @@ $(function() { | |||
| 148 | add_sidebar_button(); | 156 | add_sidebar_button(); |
| 149 | var sidebarbutton = $('#sidebarbutton'); | 157 | var sidebarbutton = $('#sidebarbutton'); |
| 150 | set_position_from_cookie(); | 158 | set_position_from_cookie(); |
| 151 | }); | 159 | }); \ No newline at end of file |
diff --git a/manual/_static/underscore.js b/manual/_static/underscore.js index 5d899143..5b55f32b 100644 --- a/manual/_static/underscore.js +++ b/manual/_static/underscore.js | |||
| @@ -1,23 +1,31 @@ | |||
| 1 | // Underscore.js 0.5.5 | 1 | // Underscore.js 1.3.1 |
| 2 | // (c) 2009 Jeremy Ashkenas, DocumentCloud Inc. | 2 | // (c) 2009-2012 Jeremy Ashkenas, DocumentCloud Inc. |
| 3 | // Underscore is freely distributable under the terms of the MIT license. | 3 | // Underscore is freely distributable under the MIT license. |
| 4 | // Portions of Underscore are inspired by or borrowed from Prototype.js, | 4 | // Portions of Underscore are inspired or borrowed from Prototype, |
| 5 | // Oliver Steele's Functional, and John Resig's Micro-Templating. | 5 | // Oliver Steele's Functional, and John Resig's Micro-Templating. |
| 6 | // For all details and documentation: | 6 | // For all details and documentation: |
| 7 | // http://documentcloud.github.com/underscore/ | 7 | // http://documentcloud.github.com/underscore |
| 8 | (function(){var j=this,n=j._,i=function(a){this._wrapped=a},m=typeof StopIteration!=="undefined"?StopIteration:"__break__",b=j._=function(a){return new i(a)};if(typeof exports!=="undefined")exports._=b;var k=Array.prototype.slice,o=Array.prototype.unshift,p=Object.prototype.toString,q=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable;b.VERSION="0.5.5";b.each=function(a,c,d){try{if(a.forEach)a.forEach(c,d);else if(b.isArray(a)||b.isArguments(a))for(var e=0,f=a.length;e<f;e++)c.call(d, | 8 | (function(){function q(a,c,d){if(a===c)return a!==0||1/a==1/c;if(a==null||c==null)return a===c;if(a._chain)a=a._wrapped;if(c._chain)c=c._wrapped;if(a.isEqual&&b.isFunction(a.isEqual))return a.isEqual(c);if(c.isEqual&&b.isFunction(c.isEqual))return c.isEqual(a);var e=l.call(a);if(e!=l.call(c))return false;switch(e){case "[object String]":return a==String(c);case "[object Number]":return a!=+a?c!=+c:a==0?1/a==1/c:a==+c;case "[object Date]":case "[object Boolean]":return+a==+c;case "[object RegExp]":return a.source== |
| 9 | a[e],e,a);else{var g=b.keys(a);f=g.length;for(e=0;e<f;e++)c.call(d,a[g[e]],g[e],a)}}catch(h){if(h!=m)throw h;}return a};b.map=function(a,c,d){if(a&&b.isFunction(a.map))return a.map(c,d);var e=[];b.each(a,function(f,g,h){e.push(c.call(d,f,g,h))});return e};b.reduce=function(a,c,d,e){if(a&&b.isFunction(a.reduce))return a.reduce(b.bind(d,e),c);b.each(a,function(f,g,h){c=d.call(e,c,f,g,h)});return c};b.reduceRight=function(a,c,d,e){if(a&&b.isFunction(a.reduceRight))return a.reduceRight(b.bind(d,e),c); | 9 | c.source&&a.global==c.global&&a.multiline==c.multiline&&a.ignoreCase==c.ignoreCase}if(typeof a!="object"||typeof c!="object")return false;for(var f=d.length;f--;)if(d[f]==a)return true;d.push(a);var f=0,g=true;if(e=="[object Array]"){if(f=a.length,g=f==c.length)for(;f--;)if(!(g=f in a==f in c&&q(a[f],c[f],d)))break}else{if("constructor"in a!="constructor"in c||a.constructor!=c.constructor)return false;for(var h in a)if(b.has(a,h)&&(f++,!(g=b.has(c,h)&&q(a[h],c[h],d))))break;if(g){for(h in c)if(b.has(c, |
| 10 | var f=b.clone(b.toArray(a)).reverse();b.each(f,function(g,h){c=d.call(e,c,g,h,a)});return c};b.detect=function(a,c,d){var e;b.each(a,function(f,g,h){if(c.call(d,f,g,h)){e=f;b.breakLoop()}});return e};b.select=function(a,c,d){if(a&&b.isFunction(a.filter))return a.filter(c,d);var e=[];b.each(a,function(f,g,h){c.call(d,f,g,h)&&e.push(f)});return e};b.reject=function(a,c,d){var e=[];b.each(a,function(f,g,h){!c.call(d,f,g,h)&&e.push(f)});return e};b.all=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.every))return a.every(c, | 10 | h)&&!f--)break;g=!f}}d.pop();return g}var r=this,G=r._,n={},k=Array.prototype,o=Object.prototype,i=k.slice,H=k.unshift,l=o.toString,I=o.hasOwnProperty,w=k.forEach,x=k.map,y=k.reduce,z=k.reduceRight,A=k.filter,B=k.every,C=k.some,p=k.indexOf,D=k.lastIndexOf,o=Array.isArray,J=Object.keys,s=Function.prototype.bind,b=function(a){return new m(a)};if(typeof exports!=="undefined"){if(typeof module!=="undefined"&&module.exports)exports=module.exports=b;exports._=b}else r._=b;b.VERSION="1.3.1";var j=b.each= |
| 11 | d);var e=true;b.each(a,function(f,g,h){(e=e&&c.call(d,f,g,h))||b.breakLoop()});return e};b.any=function(a,c,d){c=c||b.identity;if(a&&b.isFunction(a.some))return a.some(c,d);var e=false;b.each(a,function(f,g,h){if(e=c.call(d,f,g,h))b.breakLoop()});return e};b.include=function(a,c){if(b.isArray(a))return b.indexOf(a,c)!=-1;var d=false;b.each(a,function(e){if(d=e===c)b.breakLoop()});return d};b.invoke=function(a,c){var d=b.rest(arguments,2);return b.map(a,function(e){return(c?e[c]:e).apply(e,d)})};b.pluck= | 11 | b.forEach=function(a,c,d){if(a!=null)if(w&&a.forEach===w)a.forEach(c,d);else if(a.length===+a.length)for(var e=0,f=a.length;e<f;e++){if(e in a&&c.call(d,a[e],e,a)===n)break}else for(e in a)if(b.has(a,e)&&c.call(d,a[e],e,a)===n)break};b.map=b.collect=function(a,c,b){var e=[];if(a==null)return e;if(x&&a.map===x)return a.map(c,b);j(a,function(a,g,h){e[e.length]=c.call(b,a,g,h)});if(a.length===+a.length)e.length=a.length;return e};b.reduce=b.foldl=b.inject=function(a,c,d,e){var f=arguments.length>2;a== |
| 12 | function(a,c){return b.map(a,function(d){return d[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);var e={computed:-Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g>=e.computed&&(e={value:f,computed:g})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);var e={computed:Infinity};b.each(a,function(f,g,h){g=c?c.call(d,f,g,h):f;g<e.computed&&(e={value:f,computed:g})});return e.value};b.sortBy=function(a,c,d){return b.pluck(b.map(a, | 12 | null&&(a=[]);if(y&&a.reduce===y)return e&&(c=b.bind(c,e)),f?a.reduce(c,d):a.reduce(c);j(a,function(a,b,i){f?d=c.call(e,d,a,b,i):(d=a,f=true)});if(!f)throw new TypeError("Reduce of empty array with no initial value");return d};b.reduceRight=b.foldr=function(a,c,d,e){var f=arguments.length>2;a==null&&(a=[]);if(z&&a.reduceRight===z)return e&&(c=b.bind(c,e)),f?a.reduceRight(c,d):a.reduceRight(c);var g=b.toArray(a).reverse();e&&!f&&(c=b.bind(c,e));return f?b.reduce(g,c,d,e):b.reduce(g,c)};b.find=b.detect= |
| 13 | function(e,f,g){return{value:e,criteria:c.call(d,e,f,g)}}).sort(function(e,f){e=e.criteria;f=f.criteria;return e<f?-1:e>f?1:0}),"value")};b.sortedIndex=function(a,c,d){d=d||b.identity;for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?(e=g+1):(f=g)}return e};b.toArray=function(a){if(!a)return[];if(a.toArray)return a.toArray();if(b.isArray(a))return a;if(b.isArguments(a))return k.call(a);return b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=function(a,c,d){return c&&!d?k.call(a, | 13 | function(a,c,b){var e;E(a,function(a,g,h){if(c.call(b,a,g,h))return e=a,true});return e};b.filter=b.select=function(a,c,b){var e=[];if(a==null)return e;if(A&&a.filter===A)return a.filter(c,b);j(a,function(a,g,h){c.call(b,a,g,h)&&(e[e.length]=a)});return e};b.reject=function(a,c,b){var e=[];if(a==null)return e;j(a,function(a,g,h){c.call(b,a,g,h)||(e[e.length]=a)});return e};b.every=b.all=function(a,c,b){var e=true;if(a==null)return e;if(B&&a.every===B)return a.every(c,b);j(a,function(a,g,h){if(!(e= |
| 14 | 0,c):a[0]};b.rest=function(a,c,d){return k.call(a,b.isUndefined(c)||d?1:c)};b.last=function(a){return a[a.length-1]};b.compact=function(a){return b.select(a,function(c){return!!c})};b.flatten=function(a){return b.reduce(a,[],function(c,d){if(b.isArray(d))return c.concat(b.flatten(d));c.push(d);return c})};b.without=function(a){var c=b.rest(arguments);return b.select(a,function(d){return!b.include(c,d)})};b.uniq=function(a,c){return b.reduce(a,[],function(d,e,f){if(0==f||(c===true?b.last(d)!=e:!b.include(d, | 14 | e&&c.call(b,a,g,h)))return n});return e};var E=b.some=b.any=function(a,c,d){c||(c=b.identity);var e=false;if(a==null)return e;if(C&&a.some===C)return a.some(c,d);j(a,function(a,b,h){if(e||(e=c.call(d,a,b,h)))return n});return!!e};b.include=b.contains=function(a,c){var b=false;if(a==null)return b;return p&&a.indexOf===p?a.indexOf(c)!=-1:b=E(a,function(a){return a===c})};b.invoke=function(a,c){var d=i.call(arguments,2);return b.map(a,function(a){return(b.isFunction(c)?c||a:a[c]).apply(a,d)})};b.pluck= |
| 15 | e)))d.push(e);return d})};b.intersect=function(a){var c=b.rest(arguments);return b.select(b.uniq(a),function(d){return b.all(c,function(e){return b.indexOf(e,d)>=0})})};b.zip=function(){for(var a=b.toArray(arguments),c=b.max(b.pluck(a,"length")),d=new Array(c),e=0;e<c;e++)d[e]=b.pluck(a,String(e));return d};b.indexOf=function(a,c){if(a.indexOf)return a.indexOf(c);for(var d=0,e=a.length;d<e;d++)if(a[d]===c)return d;return-1};b.lastIndexOf=function(a,c){if(a.lastIndexOf)return a.lastIndexOf(c);for(var d= | 15 | function(a,c){return b.map(a,function(a){return a[c]})};b.max=function(a,c,d){if(!c&&b.isArray(a))return Math.max.apply(Math,a);if(!c&&b.isEmpty(a))return-Infinity;var e={computed:-Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b>=e.computed&&(e={value:a,computed:b})});return e.value};b.min=function(a,c,d){if(!c&&b.isArray(a))return Math.min.apply(Math,a);if(!c&&b.isEmpty(a))return Infinity;var e={computed:Infinity};j(a,function(a,b,h){b=c?c.call(d,a,b,h):a;b<e.computed&&(e={value:a,computed:b})}); |
| 16 | a.length;d--;)if(a[d]===c)return d;return-1};b.range=function(a,c,d){var e=b.toArray(arguments),f=e.length<=1;a=f?0:e[0];c=f?e[0]:e[1];d=e[2]||1;e=Math.ceil((c-a)/d);if(e<=0)return[];e=new Array(e);f=a;for(var g=0;1;f+=d){if((d>0?f-c:c-f)>=0)return e;e[g++]=f}};b.bind=function(a,c){var d=b.rest(arguments,2);return function(){return a.apply(c||j,d.concat(b.toArray(arguments)))}};b.bindAll=function(a){var c=b.rest(arguments);if(c.length==0)c=b.functions(a);b.each(c,function(d){a[d]=b.bind(a[d],a)}); | 16 | return e.value};b.shuffle=function(a){var b=[],d;j(a,function(a,f){f==0?b[0]=a:(d=Math.floor(Math.random()*(f+1)),b[f]=b[d],b[d]=a)});return b};b.sortBy=function(a,c,d){return b.pluck(b.map(a,function(a,b,g){return{value:a,criteria:c.call(d,a,b,g)}}).sort(function(a,b){var c=a.criteria,d=b.criteria;return c<d?-1:c>d?1:0}),"value")};b.groupBy=function(a,c){var d={},e=b.isFunction(c)?c:function(a){return a[c]};j(a,function(a,b){var c=e(a,b);(d[c]||(d[c]=[])).push(a)});return d};b.sortedIndex=function(a, |
| 17 | return a};b.delay=function(a,c){var d=b.rest(arguments,2);return setTimeout(function(){return a.apply(a,d)},c)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(b.rest(arguments)))};b.wrap=function(a,c){return function(){var d=[a].concat(b.toArray(arguments));return c.apply(c,d)}};b.compose=function(){var a=b.toArray(arguments);return function(){for(var c=b.toArray(arguments),d=a.length-1;d>=0;d--)c=[a[d].apply(this,c)];return c[0]}};b.keys=function(a){if(b.isArray(a))return b.range(0,a.length); | 17 | c,d){d||(d=b.identity);for(var e=0,f=a.length;e<f;){var g=e+f>>1;d(a[g])<d(c)?e=g+1:f=g}return e};b.toArray=function(a){return!a?[]:a.toArray?a.toArray():b.isArray(a)?i.call(a):b.isArguments(a)?i.call(a):b.values(a)};b.size=function(a){return b.toArray(a).length};b.first=b.head=function(a,b,d){return b!=null&&!d?i.call(a,0,b):a[0]};b.initial=function(a,b,d){return i.call(a,0,a.length-(b==null||d?1:b))};b.last=function(a,b,d){return b!=null&&!d?i.call(a,Math.max(a.length-b,0)):a[a.length-1]};b.rest= |
| 18 | var c=[];for(var d in a)q.call(a,d)&&c.push(d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=function(a){return b.select(b.keys(a),function(c){return b.isFunction(a[c])}).sort()};b.extend=function(a,c){for(var d in c)a[d]=c[d];return a};b.clone=function(a){if(b.isArray(a))return a.slice(0);return b.extend({},a)};b.tap=function(a,c){c(a);return a};b.isEqual=function(a,c){if(a===c)return true;var d=typeof a;if(d!=typeof c)return false;if(a==c)return true;if(!a&&c||a&&!c)return false; | 18 | b.tail=function(a,b,d){return i.call(a,b==null||d?1:b)};b.compact=function(a){return b.filter(a,function(a){return!!a})};b.flatten=function(a,c){return b.reduce(a,function(a,e){if(b.isArray(e))return a.concat(c?e:b.flatten(e));a[a.length]=e;return a},[])};b.without=function(a){return b.difference(a,i.call(arguments,1))};b.uniq=b.unique=function(a,c,d){var d=d?b.map(a,d):a,e=[];b.reduce(d,function(d,g,h){if(0==h||(c===true?b.last(d)!=g:!b.include(d,g)))d[d.length]=g,e[e.length]=a[h];return d},[]); |
| 19 | if(a.isEqual)return a.isEqual(c);if(b.isDate(a)&&b.isDate(c))return a.getTime()===c.getTime();if(b.isNaN(a)&&b.isNaN(c))return true;if(b.isRegExp(a)&&b.isRegExp(c))return a.source===c.source&&a.global===c.global&&a.ignoreCase===c.ignoreCase&&a.multiline===c.multiline;if(d!=="object")return false;if(a.length&&a.length!==c.length)return false;d=b.keys(a);var e=b.keys(c);if(d.length!=e.length)return false;for(var f in a)if(!b.isEqual(a[f],c[f]))return false;return true};b.isEmpty=function(a){return b.keys(a).length== | 19 | return e};b.union=function(){return b.uniq(b.flatten(arguments,true))};b.intersection=b.intersect=function(a){var c=i.call(arguments,1);return b.filter(b.uniq(a),function(a){return b.every(c,function(c){return b.indexOf(c,a)>=0})})};b.difference=function(a){var c=b.flatten(i.call(arguments,1));return b.filter(a,function(a){return!b.include(c,a)})};b.zip=function(){for(var a=i.call(arguments),c=b.max(b.pluck(a,"length")),d=Array(c),e=0;e<c;e++)d[e]=b.pluck(a,""+e);return d};b.indexOf=function(a,c, |
| 20 | 0};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=function(a){return!!(a&&a.concat&&a.unshift)};b.isArguments=function(a){return a&&b.isNumber(a.length)&&!b.isArray(a)&&!r.call(a,"length")};b.isFunction=function(a){return!!(a&&a.constructor&&a.call&&a.apply)};b.isString=function(a){return!!(a===""||a&&a.charCodeAt&&a.substr)};b.isNumber=function(a){return p.call(a)==="[object Number]"};b.isDate=function(a){return!!(a&&a.getTimezoneOffset&&a.setUTCFullYear)};b.isRegExp=function(a){return!!(a&& | 20 | d){if(a==null)return-1;var e;if(d)return d=b.sortedIndex(a,c),a[d]===c?d:-1;if(p&&a.indexOf===p)return a.indexOf(c);for(d=0,e=a.length;d<e;d++)if(d in a&&a[d]===c)return d;return-1};b.lastIndexOf=function(a,b){if(a==null)return-1;if(D&&a.lastIndexOf===D)return a.lastIndexOf(b);for(var d=a.length;d--;)if(d in a&&a[d]===b)return d;return-1};b.range=function(a,b,d){arguments.length<=1&&(b=a||0,a=0);for(var d=arguments[2]||1,e=Math.max(Math.ceil((b-a)/d),0),f=0,g=Array(e);f<e;)g[f++]=a,a+=d;return g}; |
| 21 | a.test&&a.exec&&(a.ignoreCase||a.ignoreCase===false))};b.isNaN=function(a){return b.isNumber(a)&&isNaN(a)};b.isNull=function(a){return a===null};b.isUndefined=function(a){return typeof a=="undefined"};b.noConflict=function(){j._=n;return this};b.identity=function(a){return a};b.breakLoop=function(){throw m;};var s=0;b.uniqueId=function(a){var c=s++;return a?a+c:c};b.template=function(a,c){a=new Function("obj","var p=[],print=function(){p.push.apply(p,arguments);};with(obj){p.push('"+a.replace(/[\r\t\n]/g, | 21 | var F=function(){};b.bind=function(a,c){var d,e;if(a.bind===s&&s)return s.apply(a,i.call(arguments,1));if(!b.isFunction(a))throw new TypeError;e=i.call(arguments,2);return d=function(){if(!(this instanceof d))return a.apply(c,e.concat(i.call(arguments)));F.prototype=a.prototype;var b=new F,g=a.apply(b,e.concat(i.call(arguments)));return Object(g)===g?g:b}};b.bindAll=function(a){var c=i.call(arguments,1);c.length==0&&(c=b.functions(a));j(c,function(c){a[c]=b.bind(a[c],a)});return a};b.memoize=function(a, |
| 22 | " ").replace(/'(?=[^%]*%>)/g,"\t").split("'").join("\\'").split("\t").join("'").replace(/<%=(.+?)%>/g,"',$1,'").split("<%").join("');").split("%>").join("p.push('")+"');}return p.join('');");return c?a(c):a};b.forEach=b.each;b.foldl=b.inject=b.reduce;b.foldr=b.reduceRight;b.filter=b.select;b.every=b.all;b.some=b.any;b.head=b.first;b.tail=b.rest;b.methods=b.functions;var l=function(a,c){return c?b(a).chain():a};b.each(b.functions(b),function(a){var c=b[a];i.prototype[a]=function(){var d=b.toArray(arguments); | 22 | c){var d={};c||(c=b.identity);return function(){var e=c.apply(this,arguments);return b.has(d,e)?d[e]:d[e]=a.apply(this,arguments)}};b.delay=function(a,b){var d=i.call(arguments,2);return setTimeout(function(){return a.apply(a,d)},b)};b.defer=function(a){return b.delay.apply(b,[a,1].concat(i.call(arguments,1)))};b.throttle=function(a,c){var d,e,f,g,h,i=b.debounce(function(){h=g=false},c);return function(){d=this;e=arguments;var b;f||(f=setTimeout(function(){f=null;h&&a.apply(d,e);i()},c));g?h=true: |
| 23 | o.call(d,this._wrapped);return l(c.apply(b,d),this._chain)}});b.each(["pop","push","reverse","shift","sort","splice","unshift"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){c.apply(this._wrapped,arguments);return l(this._wrapped,this._chain)}});b.each(["concat","join","slice"],function(a){var c=Array.prototype[a];i.prototype[a]=function(){return l(c.apply(this._wrapped,arguments),this._chain)}});i.prototype.chain=function(){this._chain=true;return this};i.prototype.value=function(){return this._wrapped}})(); | 23 | a.apply(d,e);i();g=true}};b.debounce=function(a,b){var d;return function(){var e=this,f=arguments;clearTimeout(d);d=setTimeout(function(){d=null;a.apply(e,f)},b)}};b.once=function(a){var b=false,d;return function(){if(b)return d;b=true;return d=a.apply(this,arguments)}};b.wrap=function(a,b){return function(){var d=[a].concat(i.call(arguments,0));return b.apply(this,d)}};b.compose=function(){var a=arguments;return function(){for(var b=arguments,d=a.length-1;d>=0;d--)b=[a[d].apply(this,b)];return b[0]}}; |
| 24 | b.after=function(a,b){return a<=0?b():function(){if(--a<1)return b.apply(this,arguments)}};b.keys=J||function(a){if(a!==Object(a))throw new TypeError("Invalid object");var c=[],d;for(d in a)b.has(a,d)&&(c[c.length]=d);return c};b.values=function(a){return b.map(a,b.identity)};b.functions=b.methods=function(a){var c=[],d;for(d in a)b.isFunction(a[d])&&c.push(d);return c.sort()};b.extend=function(a){j(i.call(arguments,1),function(b){for(var d in b)a[d]=b[d]});return a};b.defaults=function(a){j(i.call(arguments, | ||
| 25 | 1),function(b){for(var d in b)a[d]==null&&(a[d]=b[d])});return a};b.clone=function(a){return!b.isObject(a)?a:b.isArray(a)?a.slice():b.extend({},a)};b.tap=function(a,b){b(a);return a};b.isEqual=function(a,b){return q(a,b,[])};b.isEmpty=function(a){if(b.isArray(a)||b.isString(a))return a.length===0;for(var c in a)if(b.has(a,c))return false;return true};b.isElement=function(a){return!!(a&&a.nodeType==1)};b.isArray=o||function(a){return l.call(a)=="[object Array]"};b.isObject=function(a){return a===Object(a)}; | ||
| 26 | b.isArguments=function(a){return l.call(a)=="[object Arguments]"};if(!b.isArguments(arguments))b.isArguments=function(a){return!(!a||!b.has(a,"callee"))};b.isFunction=function(a){return l.call(a)=="[object Function]"};b.isString=function(a){return l.call(a)=="[object String]"};b.isNumber=function(a){return l.call(a)=="[object Number]"};b.isNaN=function(a){return a!==a};b.isBoolean=function(a){return a===true||a===false||l.call(a)=="[object Boolean]"};b.isDate=function(a){return l.call(a)=="[object Date]"}; | ||
| 27 | b.isRegExp=function(a){return l.call(a)=="[object RegExp]"};b.isNull=function(a){return a===null};b.isUndefined=function(a){return a===void 0};b.has=function(a,b){return I.call(a,b)};b.noConflict=function(){r._=G;return this};b.identity=function(a){return a};b.times=function(a,b,d){for(var e=0;e<a;e++)b.call(d,e)};b.escape=function(a){return(""+a).replace(/&/g,"&").replace(/</g,"<").replace(/>/g,">").replace(/"/g,""").replace(/'/g,"'").replace(/\//g,"/")};b.mixin=function(a){j(b.functions(a), | ||
| 28 | function(c){K(c,b[c]=a[c])})};var L=0;b.uniqueId=function(a){var b=L++;return a?a+b:b};b.templateSettings={evaluate:/<%([\s\S]+?)%>/g,interpolate:/<%=([\s\S]+?)%>/g,escape:/<%-([\s\S]+?)%>/g};var t=/.^/,u=function(a){return a.replace(/\\\\/g,"\\").replace(/\\'/g,"'")};b.template=function(a,c){var d=b.templateSettings,d="var __p=[],print=function(){__p.push.apply(__p,arguments);};with(obj||{}){__p.push('"+a.replace(/\\/g,"\\\\").replace(/'/g,"\\'").replace(d.escape||t,function(a,b){return"',_.escape("+ | ||
| 29 | u(b)+"),'"}).replace(d.interpolate||t,function(a,b){return"',"+u(b)+",'"}).replace(d.evaluate||t,function(a,b){return"');"+u(b).replace(/[\r\n\t]/g," ")+";__p.push('"}).replace(/\r/g,"\\r").replace(/\n/g,"\\n").replace(/\t/g,"\\t")+"');}return __p.join('');",e=new Function("obj","_",d);return c?e(c,b):function(a){return e.call(this,a,b)}};b.chain=function(a){return b(a).chain()};var m=function(a){this._wrapped=a};b.prototype=m.prototype;var v=function(a,c){return c?b(a).chain():a},K=function(a,c){m.prototype[a]= | ||
| 30 | function(){var a=i.call(arguments);H.call(a,this._wrapped);return v(c.apply(b,a),this._chain)}};b.mixin(b);j("pop,push,reverse,shift,sort,splice,unshift".split(","),function(a){var b=k[a];m.prototype[a]=function(){var d=this._wrapped;b.apply(d,arguments);var e=d.length;(a=="shift"||a=="splice")&&e===0&&delete d[0];return v(d,this._chain)}});j(["concat","join","slice"],function(a){var b=k[a];m.prototype[a]=function(){return v(b.apply(this._wrapped,arguments),this._chain)}});m.prototype.chain=function(){this._chain= | ||
| 31 | true;return this};m.prototype.value=function(){return this._wrapped}}).call(this); | ||
diff --git a/manual/_static/websupport.js b/manual/_static/websupport.js index e9bd1b85..71c0a136 100644 --- a/manual/_static/websupport.js +++ b/manual/_static/websupport.js | |||
| @@ -4,7 +4,7 @@ | |||
| 4 | * | 4 | * |
| 5 | * sphinx.websupport utilties for all documentation. | 5 | * sphinx.websupport utilties for all documentation. |
| 6 | * | 6 | * |
| 7 | * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS. | 7 | * :copyright: Copyright 2007-2014 by the Sphinx team, see AUTHORS. |
| 8 | * :license: BSD, see LICENSE for details. | 8 | * :license: BSD, see LICENSE for details. |
| 9 | * | 9 | * |
| 10 | */ | 10 | */ |
diff --git a/manual/abidiff.html b/manual/abidiff.html index b200267e..f95ab9cf 100644 --- a/manual/abidiff.html +++ b/manual/abidiff.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -55,7 +53,8 @@ Otherwise, only <a class="reference external" href="http://en.wikipedia.org/wiki | |||
| 55 | reported.</p> | 53 | reported.</p> |
| 56 | <div class="section" id="invocation"> | 54 | <div class="section" id="invocation"> |
| 57 | <h2>Invocation<a class="headerlink" href="#invocation" title="Permalink to this headline">¶</a></h2> | 55 | <h2>Invocation<a class="headerlink" href="#invocation" title="Permalink to this headline">¶</a></h2> |
| 58 | <div class="highlight-python"><pre>abidiff [options] <first-shared-library> <second-shared-library></pre> | 56 | <div class="highlight-python"><div class="highlight"><pre>abidiff [options] <first-shared-library> <second-shared-library> |
| 57 | </pre></div> | ||
| 59 | </div> | 58 | </div> |
| 60 | </div> | 59 | </div> |
| 61 | <div class="section" id="options"> | 60 | <div class="section" id="options"> |
| @@ -205,6 +204,174 @@ change is a change that has been displayed elsewhere in the report.</p> | |||
| 205 | </ul> | 204 | </ul> |
| 206 | </div></blockquote> | 205 | </div></blockquote> |
| 207 | </div> | 206 | </div> |
| 207 | <div class="section" id="usage-examples"> | ||
| 208 | <h2>Usage examples<a class="headerlink" href="#usage-examples" title="Permalink to this headline">¶</a></h2> | ||
| 209 | <blockquote> | ||
| 210 | <div><ol class="arabic"> | ||
| 211 | <li><p class="first">Detecting a change in a sub-type of a function:</p> | ||
| 212 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test-v0.cc | ||
| 213 | 1 // Compile this with: | ||
| 214 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 215 | 3 | ||
| 216 | 4 struct S0 | ||
| 217 | 5 { | ||
| 218 | 6 int m0; | ||
| 219 | 7 }; | ||
| 220 | 8 | ||
| 221 | 9 void | ||
| 222 | 10 foo(S0* /*parameter_name*/) | ||
| 223 | 11 { | ||
| 224 | 12 // do something with parameter_name. | ||
| 225 | 13 } | ||
| 226 | $ | ||
| 227 | $ cat -n test-v1.cc | ||
| 228 | 1 // Compile this with: | ||
| 229 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 230 | 3 | ||
| 231 | 4 struct type_base | ||
| 232 | 5 { | ||
| 233 | 6 int inserted; | ||
| 234 | 7 }; | ||
| 235 | 8 | ||
| 236 | 9 struct S0 : public type_base | ||
| 237 | 10 { | ||
| 238 | 11 int m0; | ||
| 239 | 12 }; | ||
| 240 | 13 | ||
| 241 | 14 void | ||
| 242 | 15 foo(S0* /*parameter_name*/) | ||
| 243 | 16 { | ||
| 244 | 17 // do something with parameter_name. | ||
| 245 | 18 } | ||
| 246 | $ | ||
| 247 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 248 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 249 | $ | ||
| 250 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 251 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function | ||
| 252 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 253 | |||
| 254 | 1 function with some indirect sub-type change: | ||
| 255 | |||
| 256 | [C]'function void foo(S0*)' has some indirect sub-type changes: | ||
| 257 | parameter 0 of type 'S0*' has sub-type changes: | ||
| 258 | in pointed to type 'struct S0': | ||
| 259 | size changed from 32 to 64 bits | ||
| 260 | 1 base class insertion: | ||
| 261 | struct type_base | ||
| 262 | 1 data member change: | ||
| 263 | 'int S0::m0' offset changed from 0 to 32 | ||
| 264 | $ | ||
| 265 | </pre></div> | ||
| 266 | </div> | ||
| 267 | </li> | ||
| 268 | <li><p class="first">Detecting another change in a sub-type of a function:</p> | ||
| 269 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test-v0.cc | ||
| 270 | 1 // Compile this with: | ||
| 271 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 272 | 3 | ||
| 273 | 4 struct S0 | ||
| 274 | 5 { | ||
| 275 | 6 int m0; | ||
| 276 | 7 }; | ||
| 277 | 8 | ||
| 278 | 9 void | ||
| 279 | 10 foo(S0& /*parameter_name*/) | ||
| 280 | 11 { | ||
| 281 | 12 // do something with parameter_name. | ||
| 282 | 13 } | ||
| 283 | $ | ||
| 284 | $ cat -n test-v1.cc | ||
| 285 | 1 // Compile this with: | ||
| 286 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 287 | 3 | ||
| 288 | 4 struct S0 | ||
| 289 | 5 { | ||
| 290 | 6 char inserted_member; | ||
| 291 | 7 int m0; | ||
| 292 | 8 }; | ||
| 293 | 9 | ||
| 294 | 10 void | ||
| 295 | 11 foo(S0& /*parameter_name*/) | ||
| 296 | 12 { | ||
| 297 | 13 // do something with parameter_name. | ||
| 298 | 14 } | ||
| 299 | $ | ||
| 300 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 301 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 302 | $ | ||
| 303 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 304 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function | ||
| 305 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 306 | |||
| 307 | 1 function with some indirect sub-type change: | ||
| 308 | |||
| 309 | [C]'function void foo(S0&)' has some indirect sub-type changes: | ||
| 310 | parameter 0 of type 'S0&' has sub-type changes: | ||
| 311 | in referenced type 'struct S0': | ||
| 312 | size changed from 32 to 64 bits | ||
| 313 | 1 data member insertion: | ||
| 314 | 'char S0::inserted_member', at offset 0 (in bits) | ||
| 315 | 1 data member change: | ||
| 316 | 'int S0::m0' offset changed from 0 to 32 | ||
| 317 | |||
| 318 | |||
| 319 | $ | ||
| 320 | </pre></div> | ||
| 321 | </div> | ||
| 322 | </li> | ||
| 323 | <li><p class="first">Detecting that functions got removed or added to a library:</p> | ||
| 324 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test-v0.cc | ||
| 325 | 1 // Compile this with: | ||
| 326 | 2 // g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 327 | 3 | ||
| 328 | 4 struct S0 | ||
| 329 | 5 { | ||
| 330 | 6 int m0; | ||
| 331 | 7 }; | ||
| 332 | 8 | ||
| 333 | 9 void | ||
| 334 | 10 foo(S0& /*parameter_name*/) | ||
| 335 | 11 { | ||
| 336 | 12 // do something with parameter_name. | ||
| 337 | 13 } | ||
| 338 | $ | ||
| 339 | $ cat -n test-v1.cc | ||
| 340 | 1 // Compile this with: | ||
| 341 | 2 // g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 342 | 3 | ||
| 343 | 4 struct S0 | ||
| 344 | 5 { | ||
| 345 | 6 char inserted_member; | ||
| 346 | 7 int m0; | ||
| 347 | 8 }; | ||
| 348 | 9 | ||
| 349 | 10 void | ||
| 350 | 11 bar(S0& /*parameter_name*/) | ||
| 351 | 12 { | ||
| 352 | 13 // do something with parameter_name. | ||
| 353 | 14 } | ||
| 354 | $ | ||
| 355 | $ g++ -g -Wall -shared -o libtest-v0.so test-v0.cc | ||
| 356 | $ g++ -g -Wall -shared -o libtest-v1.so test-v1.cc | ||
| 357 | $ | ||
| 358 | $ ../build/tools/abidiff libtest-v0.so libtest-v1.so | ||
| 359 | Functions changes summary: 1 Removed, 0 Changed, 1 Added functions | ||
| 360 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | ||
| 361 | |||
| 362 | 1 Removed function: | ||
| 363 | 'function void foo(S0&)' {_Z3fooR2S0} | ||
| 364 | |||
| 365 | 1 Added function: | ||
| 366 | 'function void bar(S0&)' {_Z3barR2S0} | ||
| 367 | |||
| 368 | $ | ||
| 369 | </pre></div> | ||
| 370 | </div> | ||
| 371 | </li> | ||
| 372 | </ol> | ||
| 373 | </div></blockquote> | ||
| 374 | </div> | ||
| 208 | </div> | 375 | </div> |
| 209 | 376 | ||
| 210 | 377 | ||
| @@ -218,6 +385,7 @@ change is a change that has been displayed elsewhere in the report.</p> | |||
| 218 | <li><a class="reference internal" href="#">abidiff</a><ul> | 385 | <li><a class="reference internal" href="#">abidiff</a><ul> |
| 219 | <li><a class="reference internal" href="#invocation">Invocation</a></li> | 386 | <li><a class="reference internal" href="#invocation">Invocation</a></li> |
| 220 | <li><a class="reference internal" href="#options">Options</a></li> | 387 | <li><a class="reference internal" href="#options">Options</a></li> |
| 388 | <li><a class="reference internal" href="#usage-examples">Usage examples</a></li> | ||
| 221 | </ul> | 389 | </ul> |
| 222 | </li> | 390 | </li> |
| 223 | </ul> | 391 | </ul> |
| @@ -255,7 +423,7 @@ change is a change that has been displayed elsewhere in the report.</p> | |||
| 255 | </div> | 423 | </div> |
| 256 | <div class="footer"> | 424 | <div class="footer"> |
| 257 | © Copyright 2014, Dodji Seketeli. | 425 | © Copyright 2014, Dodji Seketeli. |
| 258 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 426 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 259 | </div> | 427 | </div> |
| 260 | </body> | 428 | </body> |
| 261 | </html> \ No newline at end of file | 429 | </html> \ No newline at end of file |
diff --git a/manual/abidw.html b/manual/abidw.html index 7c85e45c..6c7edae3 100644 --- a/manual/abidw.html +++ b/manual/abidw.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -54,7 +52,8 @@ the file. The input shared library must contain associated debug | |||
| 54 | information in <a class="reference external" href="http://www.dwarfstd.org">DWARF</a> format.</p> | 52 | information in <a class="reference external" href="http://www.dwarfstd.org">DWARF</a> format.</p> |
| 55 | <div class="section" id="invocation"> | 53 | <div class="section" id="invocation"> |
| 56 | <h2>Invocation<a class="headerlink" href="#invocation" title="Permalink to this headline">¶</a></h2> | 54 | <h2>Invocation<a class="headerlink" href="#invocation" title="Permalink to this headline">¶</a></h2> |
| 57 | <div class="highlight-python"><pre>abidw [options] [<path-to-elf-file>]</pre> | 55 | <div class="highlight-python"><div class="highlight"><pre>abidw [options] [<path-to-elf-file>] |
| 56 | </pre></div> | ||
| 58 | </div> | 57 | </div> |
| 59 | </div> | 58 | </div> |
| 60 | <div class="section" id="options"> | 59 | <div class="section" id="options"> |
| @@ -162,7 +161,7 @@ standard <a class="reference external" href="https://fedorahosted.org/elfutils/w | |||
| 162 | </div> | 161 | </div> |
| 163 | <div class="footer"> | 162 | <div class="footer"> |
| 164 | © Copyright 2014, Dodji Seketeli. | 163 | © Copyright 2014, Dodji Seketeli. |
| 165 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 164 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 166 | </div> | 165 | </div> |
| 167 | </body> | 166 | </body> |
| 168 | </html> \ No newline at end of file | 167 | </html> \ No newline at end of file |
diff --git a/manual/abilint.html b/manual/abilint.html index 44fccbe9..6b8ce783 100644 --- a/manual/abilint.html +++ b/manual/abilint.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -148,7 +146,7 @@ the command is the only way to know if the command succeeded.</p> | |||
| 148 | </div> | 146 | </div> |
| 149 | <div class="footer"> | 147 | <div class="footer"> |
| 150 | © Copyright 2014, Dodji Seketeli. | 148 | © Copyright 2014, Dodji Seketeli. |
| 151 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 149 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 152 | </div> | 150 | </div> |
| 153 | </body> | 151 | </body> |
| 154 | </html> \ No newline at end of file | 152 | </html> \ No newline at end of file |
diff --git a/manual/genindex.html b/manual/genindex.html index 1808759f..0dbeebae 100644 --- a/manual/genindex.html +++ b/manual/genindex.html | |||
| @@ -1,7 +1,4 @@ | |||
| 1 | 1 | ||
| 2 | |||
| 3 | |||
| 4 | |||
| 5 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 2 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 6 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 3 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 7 | 4 | ||
| @@ -17,7 +14,7 @@ | |||
| 17 | 14 | ||
| 18 | <script type="text/javascript"> | 15 | <script type="text/javascript"> |
| 19 | var DOCUMENTATION_OPTIONS = { | 16 | var DOCUMENTATION_OPTIONS = { |
| 20 | URL_ROOT: '', | 17 | URL_ROOT: './', |
| 21 | VERSION: '0.1', | 18 | VERSION: '0.1', |
| 22 | COLLAPSE_INDEX: false, | 19 | COLLAPSE_INDEX: false, |
| 23 | FILE_SUFFIX: '.html', | 20 | FILE_SUFFIX: '.html', |
| @@ -89,7 +86,7 @@ | |||
| 89 | </div> | 86 | </div> |
| 90 | <div class="footer"> | 87 | <div class="footer"> |
| 91 | © Copyright 2014, Dodji Seketeli. | 88 | © Copyright 2014, Dodji Seketeli. |
| 92 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 89 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 93 | </div> | 90 | </div> |
| 94 | </body> | 91 | </body> |
| 95 | </html> \ No newline at end of file | 92 | </html> \ No newline at end of file |
diff --git a/manual/index.html b/manual/index.html index 97bd5a66..7e19089b 100644 --- a/manual/index.html +++ b/manual/index.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -113,7 +111,7 @@ | |||
| 113 | </div> | 111 | </div> |
| 114 | <div class="footer"> | 112 | <div class="footer"> |
| 115 | © Copyright 2014, Dodji Seketeli. | 113 | © Copyright 2014, Dodji Seketeli. |
| 116 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 114 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 117 | </div> | 115 | </div> |
| 118 | </body> | 116 | </body> |
| 119 | </html> \ No newline at end of file | 117 | </html> \ No newline at end of file |
diff --git a/manual/libabigail-concepts.html b/manual/libabigail-concepts.html index c83005a0..b5f206ad 100644 --- a/manual/libabigail-concepts.html +++ b/manual/libabigail-concepts.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -91,26 +89,30 @@ ABI artifacts to avoid emitting change reports about.</p> | |||
| 91 | <p>Its syntax is based on a simplified form of <a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">Ini File Syntax</a>. For | 89 | <p>Its syntax is based on a simplified form of <a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">Ini File Syntax</a>. For |
| 92 | instance, specify that change reports on a type named FooPrivateType | 90 | instance, specify that change reports on a type named FooPrivateType |
| 93 | should be suppressed, one could write this suppression specification:</p> | 91 | should be suppressed, one could write this suppression specification:</p> |
| 94 | <div class="highlight-python"><pre>[suppress_type] | 92 | <div class="highlight-python"><div class="highlight"><pre>[suppress_type] |
| 95 | name = FooPrivateType</pre> | 93 | name = FooPrivateType |
| 94 | </pre></div> | ||
| 96 | </div> | 95 | </div> |
| 97 | <p>Maybe we want to ensure that only a change reports about structures | 96 | <p>Maybe we want to ensure that only a change reports about structures |
| 98 | named FooPrivateType should be suppressed, one could write:</p> | 97 | named FooPrivateType should be suppressed, one could write:</p> |
| 99 | <div class="highlight-python"><pre>[suppress_type] | 98 | <div class="highlight-python"><div class="highlight"><pre>[suppress_type] |
| 100 | type_kind = struct | 99 | type_kind = struct |
| 101 | name = FooPrivateType</pre> | 100 | name = FooPrivateType |
| 101 | </pre></div> | ||
| 102 | </div> | 102 | </div> |
| 103 | <p>But we could also want to suppress change reports avoid typedefs named | 103 | <p>But we could also want to suppress change reports avoid typedefs named |
| 104 | FooPrivateType. In that case we would write:</p> | 104 | FooPrivateType. In that case we would write:</p> |
| 105 | <div class="highlight-python"><pre>[suppress_type] | 105 | <div class="highlight-python"><div class="highlight"><pre>[suppress_type] |
| 106 | type_kind = typedef | 106 | type_kind = typedef |
| 107 | name = FooPrivateType</pre> | 107 | name = FooPrivateType |
| 108 | </pre></div> | ||
| 108 | </div> | 109 | </div> |
| 109 | <p>Or, we could want to suppress change reports about all struct which | 110 | <p>Or, we could want to suppress change reports about all struct which |
| 110 | names ends with PrivateType:</p> | 111 | names ends with PrivateType:</p> |
| 111 | <div class="highlight-python"><pre>[suppress_type] | 112 | <div class="highlight-python"><div class="highlight"><pre>[suppress_type] |
| 112 | type_kind = struct | 113 | type_kind = struct |
| 113 | name_regexp = ^.*PrivateType</pre> | 114 | name_regexp = ^.*PrivateType |
| 115 | </pre></div> | ||
| 114 | </div> | 116 | </div> |
| 115 | <p>Let’s now look at the generic syntax of suppression specification | 117 | <p>Let’s now look at the generic syntax of suppression specification |
| 116 | files.</p> | 118 | files.</p> |
| @@ -151,7 +153,8 @@ POSIX regular expression syntax. And that character must be | |||
| 151 | escaped for the regular expression engine. Thus the regular | 153 | escaped for the regular expression engine. Thus the regular |
| 152 | expression that would match the string <tt class="docutils literal"><span class="pre">int*</span></tt> in a suppression | 154 | expression that would match the string <tt class="docutils literal"><span class="pre">int*</span></tt> in a suppression |
| 153 | file should be</p> | 155 | file should be</p> |
| 154 | <div class="highlight-python"><pre>int\\*</pre> | 156 | <div class="highlight-python"><div class="highlight"><pre>int\\* |
| 157 | </pre></div> | ||
| 155 | </div> | 158 | </div> |
| 156 | <p>Wait; but then why the two <tt class="docutils literal"><span class="pre">\</span></tt> characters? Well, because the | 159 | <p>Wait; but then why the two <tt class="docutils literal"><span class="pre">\</span></tt> characters? Well, because the |
| 157 | <tt class="docutils literal"><span class="pre">\</span></tt> character is a special character in the <a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">Ini File Syntax</a> | 160 | <tt class="docutils literal"><span class="pre">\</span></tt> character is a special character in the <a class="reference external" href="http://en.wikipedia.org/wiki/INI_file">Ini File Syntax</a> |
| @@ -287,15 +290,18 @@ Note that for member functions (methods of classes), the | |||
| 287 | this is the first parameter that comes after the implicit | 290 | this is the first parameter that comes after the implicit |
| 288 | “this” pointer parameter.</p> | 291 | “this” pointer parameter.</p> |
| 289 | <p>Examples of function parameter specifications are:</p> | 292 | <p>Examples of function parameter specifications are:</p> |
| 290 | <div class="highlight-python"><pre>'0 int</pre> | 293 | <div class="highlight-python"><div class="highlight"><pre>'0 int |
| 294 | </pre></div> | ||
| 291 | </div> | 295 | </div> |
| 292 | <p>Which means, the parameter at index 0, whose type name is | 296 | <p>Which means, the parameter at index 0, whose type name is |
| 293 | <tt class="docutils literal"><span class="pre">int</span></tt>.</p> | 297 | <tt class="docutils literal"><span class="pre">int</span></tt>.</p> |
| 294 | <div class="highlight-python"><pre>'4 unsigned char*</pre> | 298 | <div class="highlight-python"><div class="highlight"><pre>'4 unsigned char* |
| 299 | </pre></div> | ||
| 295 | </div> | 300 | </div> |
| 296 | <p>Which means, the parameter at index 4, whose type name is | 301 | <p>Which means, the parameter at index 4, whose type name is |
| 297 | <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">char*</span></tt>.</p> | 302 | <tt class="docutils literal"><span class="pre">unsigned</span> <span class="pre">char*</span></tt>.</p> |
| 298 | <div class="highlight-python"><pre>'2 /^foo.*&/</pre> | 303 | <div class="highlight-python"><div class="highlight"><pre>'2 /^foo.*&/ |
| 304 | </pre></div> | ||
| 299 | </div> | 305 | </div> |
| 300 | <p>Which means, the parameter at index 2, whose type name | 306 | <p>Which means, the parameter at index 2, whose type name |
| 301 | starts with the string “foo” and ends with an ‘&’. In | 307 | starts with the string “foo” and ends with an ‘&’. In |
| @@ -434,7 +440,7 @@ indicates a comment. Comment lines are ignored.</p> | |||
| 434 | <li><p class="first">Suppressing change reports about types.</p> | 440 | <li><p class="first">Suppressing change reports about types.</p> |
| 435 | <p>Suppose we have a library named <tt class="docutils literal"><span class="pre">libtest1-v0.so</span></tt> which | 441 | <p>Suppose we have a library named <tt class="docutils literal"><span class="pre">libtest1-v0.so</span></tt> which |
| 436 | contains this very useful code:</p> | 442 | contains this very useful code:</p> |
| 437 | <div class="highlight-python"><pre>$ cat -n test1-v0.cc | 443 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test1-v0.cc |
| 438 | 1 // A forward declaration for a type considered to be opaque to | 444 | 1 // A forward declaration for a type considered to be opaque to |
| 439 | 2 // function foo() below. | 445 | 2 // function foo() below. |
| 440 | 3 struct opaque_type; | 446 | 3 struct opaque_type; |
| @@ -452,14 +458,15 @@ contains this very useful code:</p> | |||
| 452 | 15 int member0; | 458 | 15 int member0; |
| 453 | 16 char member1; | 459 | 16 char member1; |
| 454 | 17 }; | 460 | 17 }; |
| 455 | $</pre> | 461 | $ |
| 462 | </pre></div> | ||
| 456 | </div> | 463 | </div> |
| 457 | </li> | 464 | </li> |
| 458 | </ol> | 465 | </ol> |
| 459 | <p>Let’s change the layout of struct opaque_type by inserting a data | 466 | <p>Let’s change the layout of struct opaque_type by inserting a data |
| 460 | member around line 15, leading to a new version of the library, | 467 | member around line 15, leading to a new version of the library, |
| 461 | that we shall name <tt class="docutils literal"><span class="pre">libtest1-v1.so</span></tt>:</p> | 468 | that we shall name <tt class="docutils literal"><span class="pre">libtest1-v1.so</span></tt>:</p> |
| 462 | <div class="highlight-python"><pre>$ cat -n test1-v1.cc | 469 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test1-v1.cc |
| 463 | 1 // A forward declaration for a type considered to be opaque to | 470 | 1 // A forward declaration for a type considered to be opaque to |
| 464 | 2 // function foo() below. | 471 | 2 // function foo() below. |
| 465 | 3 struct opaque_type; | 472 | 3 struct opaque_type; |
| @@ -478,30 +485,33 @@ that we shall name <tt class="docutils literal"><span class="pre">libtest1-v1.so | |||
| 478 | 16 int member0; | 485 | 16 int member0; |
| 479 | 17 char member1; | 486 | 17 char member1; |
| 480 | 18 }; | 487 | 18 }; |
| 481 | $</pre> | 488 | $ |
| 489 | </pre></div> | ||
| 482 | </div> | 490 | </div> |
| 483 | <p>Let’s compile both examples. We shall not forget to compile them | 491 | <p>Let’s compile both examples. We shall not forget to compile them |
| 484 | with debug information generation turned on:</p> | 492 | with debug information generation turned on:</p> |
| 485 | <div class="highlight-python"><pre>$ g++ -shared -g -Wall -o libtest1-v0.so test1-v0.cc | 493 | <div class="highlight-python"><div class="highlight"><pre>$ g++ -shared -g -Wall -o libtest1-v0.so test1-v0.cc |
| 486 | $ g++ -shared -g -Wall -o libtest1-v1.so test1-v1.cc</pre> | 494 | $ g++ -shared -g -Wall -o libtest1-v1.so test1-v1.cc |
| 495 | </pre></div> | ||
| 487 | </div> | 496 | </div> |
| 488 | <p>Let’s ask <a class="reference internal" href="abidiff.html#abidiff-label"><em>abidiff</em></a> which ABI differences it sees | 497 | <p>Let’s ask <a class="reference internal" href="abidiff.html#abidiff-label"><em>abidiff</em></a> which ABI differences it sees |
| 489 | between <tt class="docutils literal"><span class="pre">libtest1-v0.so</span></tt> and <tt class="docutils literal"><span class="pre">libtest1-v1.so</span></tt>:</p> | 498 | between <tt class="docutils literal"><span class="pre">libtest1-v0.so</span></tt> and <tt class="docutils literal"><span class="pre">libtest1-v1.so</span></tt>:</p> |
| 490 | <div class="highlight-python"><pre>$ abidiff libtest1-v0.so libtest1-v1.so | 499 | <div class="highlight-python"><div class="highlight"><pre>$ abidiff libtest1-v0.so libtest1-v1.so |
| 491 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function | 500 | Functions changes summary: 0 Removed, 1 Changed, 0 Added function |
| 492 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | 501 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable |
| 493 | 502 | ||
| 494 | 1 function with some indirect sub-type change: | 503 | 1 function with some indirect sub-type change: |
| 495 | 504 | ||
| 496 | [C]'function void foo(opaque_type*)' has some indirect sub-type changes: | 505 | [C]'function void foo(opaque_type*)' has some indirect sub-type changes: |
| 497 | parameter 0 of type 'opaque_type*' has sub-type changes: | 506 | parameter 0 of type 'opaque_type*' has sub-type changes: |
| 498 | in pointed to type 'struct opaque_type': | 507 | in pointed to type 'struct opaque_type': |
| 499 | size changed from 64 to 96 bits | 508 | size changed from 64 to 96 bits |
| 500 | 1 data member insertion: | 509 | 1 data member insertion: |
| 501 | 'char opaque_type::added_member', at offset 0 (in bits) | 510 | 'char opaque_type::added_member', at offset 0 (in bits) |
| 502 | 2 data member changes: | 511 | 2 data member changes: |
| 503 | 'int opaque_type::member0' offset changed from 0 to 32 | 512 | 'int opaque_type::member0' offset changed from 0 to 32 |
| 504 | 'char opaque_type::member1' offset changed from 32 to 64</pre> | 513 | 'char opaque_type::member1' offset changed from 32 to 64 |
| 514 | </pre></div> | ||
| 505 | </div> | 515 | </div> |
| 506 | <p>So <tt class="docutils literal"><span class="pre">abidiff</span></tt> reports that the opaque_type’s layout has changed | 516 | <p>So <tt class="docutils literal"><span class="pre">abidiff</span></tt> reports that the opaque_type’s layout has changed |
| 507 | in a significant way, as far as ABI implications are concerned, in | 517 | in a significant way, as far as ABI implications are concerned, in |
| @@ -516,19 +526,21 @@ So layout changes of <tt class="docutils literal"><span class="pre">struct</span | |||
| 516 | <p>Now to teach <tt class="docutils literal"><span class="pre">abidiff</span></tt> about this soft contract and have it | 526 | <p>Now to teach <tt class="docutils literal"><span class="pre">abidiff</span></tt> about this soft contract and have it |
| 517 | avoid emitting what amounts to false positives in this case, we | 527 | avoid emitting what amounts to false positives in this case, we |
| 518 | write the suppression specification file below:</p> | 528 | write the suppression specification file below:</p> |
| 519 | <div class="highlight-python"><pre>$ cat test1.suppr | 529 | <div class="highlight-python"><div class="highlight"><pre>$ cat test1.suppr |
| 520 | [suppress_type] | 530 | [suppress_type] |
| 521 | type_kind = struct | 531 | type_kind = struct |
| 522 | name = opaque_type</pre> | 532 | name = opaque_type |
| 533 | </pre></div> | ||
| 523 | </div> | 534 | </div> |
| 524 | <p>Translated in plain English, this suppression specification would | 535 | <p>Translated in plain English, this suppression specification would |
| 525 | read: “Do not emit change reports about a struct which name is | 536 | read: “Do not emit change reports about a struct which name is |
| 526 | opaque_type”.</p> | 537 | opaque_type”.</p> |
| 527 | <p>Let’s now invoke <tt class="docutils literal"><span class="pre">abidiff</span></tt> on the two versions of the library | 538 | <p>Let’s now invoke <tt class="docutils literal"><span class="pre">abidiff</span></tt> on the two versions of the library |
| 528 | again, but this time with the suppression specification:</p> | 539 | again, but this time with the suppression specification:</p> |
| 529 | <div class="highlight-python"><pre>$ abidiff --suppressions test1.suppr libtest1-v0.so libtest1-v1.so | 540 | <div class="highlight-python"><div class="highlight"><pre>$ abidiff --suppressions test1.suppr libtest1-v0.so libtest1-v1.so |
| 530 | Functions changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added function | 541 | Functions changes summary: 0 Removed, 0 Changed (1 filtered out), 0 Added function |
| 531 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable</pre> | 542 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable |
| 543 | </pre></div> | ||
| 532 | </div> | 544 | </div> |
| 533 | <p>As you can see, <tt class="docutils literal"><span class="pre">abidiff</span></tt> does not report the change anymore; it | 545 | <p>As you can see, <tt class="docutils literal"><span class="pre">abidiff</span></tt> does not report the change anymore; it |
| 534 | tells us that it was filtered out instead.</p> | 546 | tells us that it was filtered out instead.</p> |
| @@ -538,7 +550,7 @@ tells us that it was filtered out instead.</p> | |||
| 538 | <li><p class="first">Suppressing change reports about functions.</p> | 550 | <li><p class="first">Suppressing change reports about functions.</p> |
| 539 | <p>Suppose we have a first version a library named | 551 | <p>Suppose we have a first version a library named |
| 540 | <tt class="docutils literal"><span class="pre">libtest2-v0.so</span></tt> whose source code is:</p> | 552 | <tt class="docutils literal"><span class="pre">libtest2-v0.so</span></tt> whose source code is:</p> |
| 541 | <div class="highlight-python"><pre> $ cat -n test2-v0.cc | 553 | <div class="highlight-python"><div class="highlight"><pre> $ cat -n test2-v0.cc |
| 542 | 554 | ||
| 543 | 1 struct S1 | 555 | 1 struct S1 |
| 544 | 2 { | 556 | 2 { |
| @@ -588,12 +600,13 @@ tells us that it was filtered out instead.</p> | |||
| 588 | 46 // suppose the code does something with the argument. | 600 | 46 // suppose the code does something with the argument. |
| 589 | 47 return 0; | 601 | 47 return 0; |
| 590 | 48 } | 602 | 48 } |
| 591 | $</pre> | 603 | $ |
| 604 | </pre></div> | ||
| 592 | </div> | 605 | </div> |
| 593 | <p>And then we come up with a second version <tt class="docutils literal"><span class="pre">libtest2-v1.so</span></tt> of | 606 | <p>And then we come up with a second version <tt class="docutils literal"><span class="pre">libtest2-v1.so</span></tt> of |
| 594 | that library; the source code is modified by making the | 607 | that library; the source code is modified by making the |
| 595 | structures <tt class="docutils literal"><span class="pre">S1</span></tt>, <tt class="docutils literal"><span class="pre">S2</span></tt>, <tt class="docutils literal"><span class="pre">S3</span></tt> inherit another struct:</p> | 608 | structures <tt class="docutils literal"><span class="pre">S1</span></tt>, <tt class="docutils literal"><span class="pre">S2</span></tt>, <tt class="docutils literal"><span class="pre">S3</span></tt> inherit another struct:</p> |
| 596 | <div class="highlight-python"><pre>$ cat -n test2-v1.cc | 609 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n test2-v1.cc |
| 597 | 1 struct base_type | 610 | 1 struct base_type |
| 598 | 2 { | 611 | 2 { |
| 599 | 3 int m_inserted; | 612 | 3 int m_inserted; |
| @@ -650,81 +663,86 @@ structures <tt class="docutils literal"><span class="pre">S1</span></tt>, <tt cl | |||
| 650 | 54 // suppose the code does something with the argument. | 663 | 54 // suppose the code does something with the argument. |
| 651 | 55 return 0; | 664 | 55 return 0; |
| 652 | 56 } | 665 | 56 } |
| 653 | $</pre> | 666 | $ |
| 667 | </pre></div> | ||
| 654 | </div> | 668 | </div> |
| 655 | <p>Now let’s build the two libraries:</p> | 669 | <p>Now let’s build the two libraries:</p> |
| 656 | <div class="highlight-python"><pre>g++ -Wall -g -shared -o libtest2-v0.so test2-v0.cc | 670 | <div class="highlight-python"><div class="highlight"><pre>g++ -Wall -g -shared -o libtest2-v0.so test2-v0.cc |
| 657 | g++ -Wall -g -shared -o libtest2-v0.so test2-v0.cc</pre> | 671 | g++ -Wall -g -shared -o libtest2-v0.so test2-v0.cc |
| 672 | </pre></div> | ||
| 658 | </div> | 673 | </div> |
| 659 | <p>Let’s look at the output of <tt class="docutils literal"><span class="pre">abidiff</span></tt>:</p> | 674 | <p>Let’s look at the output of <tt class="docutils literal"><span class="pre">abidiff</span></tt>:</p> |
| 660 | <div class="highlight-python"><pre>$ abidiff libtest2-v0.so libtest2-v1.so | 675 | <div class="highlight-python"><div class="highlight"><pre>$ abidiff libtest2-v0.so libtest2-v1.so |
| 661 | Functions changes summary: 0 Removed, 3 Changed, 0 Added functions | 676 | Functions changes summary: 0 Removed, 3 Changed, 0 Added functions |
| 662 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | 677 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable |
| 663 | 678 | ||
| 664 | 3 functions with some indirect sub-type change: | 679 | 3 functions with some indirect sub-type change: |
| 665 | 680 | ||
| 666 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: | 681 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: |
| 667 | parameter 0 of type 'struct S3' has sub-type changes: | 682 | parameter 0 of type 'struct S3' has sub-type changes: |
| 668 | size changed from 32 to 64 bits | 683 | size changed from 32 to 64 bits |
| 669 | 1 base class insertion: | 684 | 1 base class insertion: |
| 670 | struct base_type | 685 | struct base_type |
| 671 | 1 data member change: | 686 | 1 data member change: |
| 672 | 'int S3::m0' offset changed from 0 to 32 | 687 | 'int S3::m0' offset changed from 0 to 32 |
| 673 | 688 | ||
| 674 | [C]'function char func(S2*)' has some indirect sub-type changes: | 689 | [C]'function char func(S2*)' has some indirect sub-type changes: |
| 675 | parameter 0 of type 'S2*' has sub-type changes: | 690 | parameter 0 of type 'S2*' has sub-type changes: |
| 676 | in pointed to type 'struct S2': | 691 | in pointed to type 'struct S2': |
| 677 | size changed from 32 to 64 bits | 692 | size changed from 32 to 64 bits |
| 678 | 1 base class insertion: | 693 | 1 base class insertion: |
| 679 | struct base_type | 694 | struct base_type |
| 680 | 1 data member change: | 695 | 1 data member change: |
| 681 | 'int S2::m0' offset changed from 0 to 32 | 696 | 'int S2::m0' offset changed from 0 to 32 |
| 682 | 697 | ||
| 683 | [C]'function int func(S1&)' has some indirect sub-type changes: | 698 | [C]'function int func(S1&)' has some indirect sub-type changes: |
| 684 | parameter 0 of type 'S1&' has sub-type changes: | 699 | parameter 0 of type 'S1&' has sub-type changes: |
| 685 | in referenced type 'struct S1': | 700 | in referenced type 'struct S1': |
| 686 | size changed from 32 to 64 bits | 701 | size changed from 32 to 64 bits |
| 687 | 1 base class insertion: | 702 | 1 base class insertion: |
| 688 | struct base_type | 703 | struct base_type |
| 689 | 1 data member change: | 704 | 1 data member change: |
| 690 | 'int S1::m0' offset changed from 0 to 32 | 705 | 'int S1::m0' offset changed from 0 to 32 |
| 691 | $</pre> | 706 | $ |
| 707 | </pre></div> | ||
| 692 | </div> | 708 | </div> |
| 693 | <p>Let’s tell <tt class="docutils literal"><span class="pre">abidiff</span></tt> to avoid showing us the differences on the | 709 | <p>Let’s tell <tt class="docutils literal"><span class="pre">abidiff</span></tt> to avoid showing us the differences on the |
| 694 | overloads of <tt class="docutils literal"><span class="pre">func</span></tt> that takes either a pointer or a reference. | 710 | overloads of <tt class="docutils literal"><span class="pre">func</span></tt> that takes either a pointer or a reference. |
| 695 | For that, we author this simple suppression specification:</p> | 711 | For that, we author this simple suppression specification:</p> |
| 696 | <div class="highlight-python"><pre>$ cat -n libtest2.suppr | 712 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n libtest2.suppr |
| 697 | 1 [suppress_function] | 713 | 1 [suppress_function] |
| 698 | 2 name = func | 714 | 2 name = func |
| 699 | 3 parameter = '0 S1& | 715 | 3 parameter = '0 S1& |
| 700 | 4 | 716 | 4 |
| 701 | 5 [suppress_function] | 717 | 5 [suppress_function] |
| 702 | 6 name = func | 718 | 6 name = func |
| 703 | 7 parameter = '0 S2* | 719 | 7 parameter = '0 S2* |
| 704 | $</pre> | 720 | $ |
| 721 | </pre></div> | ||
| 705 | </div> | 722 | </div> |
| 706 | <p>And then let’s invoke <tt class="docutils literal"><span class="pre">abidiff</span></tt> with the suppression | 723 | <p>And then let’s invoke <tt class="docutils literal"><span class="pre">abidiff</span></tt> with the suppression |
| 707 | specification:</p> | 724 | specification:</p> |
| 708 | <div class="highlight-python"><pre>$ ../build/tools/abidiff --suppressions libtest2.suppr libtest2-v0.so libtest2-v1.so | 725 | <div class="highlight-python"><div class="highlight"><pre>$ ../build/tools/abidiff --suppressions libtest2.suppr libtest2-v0.so libtest2-v1.so |
| 709 | Functions changes summary: 0 Removed, 1 Changed (2 filtered out), 0 Added function | 726 | Functions changes summary: 0 Removed, 1 Changed (2 filtered out), 0 Added function |
| 710 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | 727 | Variables changes summary: 0 Removed, 0 Changed, 0 Added variable |
| 711 | 728 | ||
| 712 | 1 function with some indirect sub-type change: | 729 | 1 function with some indirect sub-type change: |
| 713 | 730 | ||
| 714 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: | 731 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: |
| 715 | parameter 0 of type 'struct S3' has sub-type changes: | 732 | parameter 0 of type 'struct S3' has sub-type changes: |
| 716 | size changed from 32 to 64 bits | 733 | size changed from 32 to 64 bits |
| 717 | 1 base class insertion: | 734 | 1 base class insertion: |
| 718 | struct base_type | 735 | struct base_type |
| 719 | 1 data member change: | 736 | 1 data member change: |
| 720 | 'int S3::m0' offset changed from 0 to 32</pre> | 737 | 'int S3::m0' offset changed from 0 to 32 |
| 738 | </pre></div> | ||
| 721 | </div> | 739 | </div> |
| 722 | <p>The suppression specification could be reduced using | 740 | <p>The suppression specification could be reduced using |
| 723 | <a class="reference internal" href="#suppr-regexp-label"><em>regular expressions</em></a>:</p> | 741 | <a class="reference internal" href="#suppr-regexp-label"><em>regular expressions</em></a>:</p> |
| 724 | <div class="highlight-python"><pre>$ cat -n libtest2-1.suppr | 742 | <div class="highlight-python"><div class="highlight"><pre>$ cat -n libtest2-1.suppr |
| 725 | 1 [suppress_function] | 743 | 1 [suppress_function] |
| 726 | 2 name = func | 744 | 2 name = func |
| 727 | 3 parameter = '0 /^S.(&|\\*)/ | 745 | 3 parameter = '0 /^S.(&|\\*)/ |
| 728 | $ | 746 | $ |
| 729 | 747 | ||
| 730 | $ ../build/tools/abidiff --suppressions libtest2-1.suppr libtest2-v0.so libtest2-v1.so | 748 | $ ../build/tools/abidiff --suppressions libtest2-1.suppr libtest2-v0.so libtest2-v1.so |
| @@ -733,15 +751,16 @@ Variables changes summary: 0 Removed, 0 Changed, 0 Added variable | |||
| 733 | 751 | ||
| 734 | 1 function with some indirect sub-type change: | 752 | 1 function with some indirect sub-type change: |
| 735 | 753 | ||
| 736 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: | 754 | [C]'function unsigned int func(S3)' has some indirect sub-type changes: |
| 737 | parameter 0 of type 'struct S3' has sub-type changes: | 755 | parameter 0 of type 'struct S3' has sub-type changes: |
| 738 | size changed from 32 to 64 bits | 756 | size changed from 32 to 64 bits |
| 739 | 1 base class insertion: | 757 | 1 base class insertion: |
| 740 | struct base_type | 758 | struct base_type |
| 741 | 1 data member change: | 759 | 1 data member change: |
| 742 | 'int S3::m0' offset changed from 0 to 32 | 760 | 'int S3::m0' offset changed from 0 to 32 |
| 743 | 761 | ||
| 744 | $</pre> | 762 | $ |
| 763 | </pre></div> | ||
| 745 | </div> | 764 | </div> |
| 746 | </li> | 765 | </li> |
| 747 | </ol> | 766 | </ol> |
| @@ -805,7 +824,7 @@ $</pre> | |||
| 805 | </div> | 824 | </div> |
| 806 | <div class="footer"> | 825 | <div class="footer"> |
| 807 | © Copyright 2014, Dodji Seketeli. | 826 | © Copyright 2014, Dodji Seketeli. |
| 808 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 827 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 809 | </div> | 828 | </div> |
| 810 | </body> | 829 | </body> |
| 811 | </html> \ No newline at end of file | 830 | </html> \ No newline at end of file |
diff --git a/manual/libabigail-overview.html b/manual/libabigail-overview.html index 8e12e619..99af0d73 100644 --- a/manual/libabigail-overview.html +++ b/manual/libabigail-overview.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -135,7 +133,7 @@ enough way to help us spot ABI incompatibilities.</p> | |||
| 135 | </div> | 133 | </div> |
| 136 | <div class="footer"> | 134 | <div class="footer"> |
| 137 | © Copyright 2014, Dodji Seketeli. | 135 | © Copyright 2014, Dodji Seketeli. |
| 138 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 136 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 139 | </div> | 137 | </div> |
| 140 | </body> | 138 | </body> |
| 141 | </html> \ No newline at end of file | 139 | </html> \ No newline at end of file |
diff --git a/manual/libabigail-tools.html b/manual/libabigail-tools.html index a76b02d4..40b8e1a7 100644 --- a/manual/libabigail-tools.html +++ b/manual/libabigail-tools.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -131,7 +129,7 @@ of the project.</p> | |||
| 131 | </div> | 129 | </div> |
| 132 | <div class="footer"> | 130 | <div class="footer"> |
| 133 | © Copyright 2014, Dodji Seketeli. | 131 | © Copyright 2014, Dodji Seketeli. |
| 134 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 132 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 135 | </div> | 133 | </div> |
| 136 | </body> | 134 | </body> |
| 137 | </html> \ No newline at end of file | 135 | </html> \ No newline at end of file |
diff --git a/manual/objects.inv b/manual/objects.inv index 27b767bd..7beaea6f 100644 --- a/manual/objects.inv +++ b/manual/objects.inv | |||
| @@ -2,5 +2,6 @@ | |||
| 2 | # Project: Libabigail | 2 | # Project: Libabigail |
| 3 | # Version: 0.1 | 3 | # Version: 0.1 |
| 4 | # The remainder of this file is compressed using zlib. | 4 | # The remainder of this file is compressed using zlib. |
| 5 | 5 | xÚ¥Q1nÃ0Üý | |
| 6 | 6 | ||
| 7 | |||
diff --git a/manual/search.html b/manual/search.html index 0a380735..00e0c232 100644 --- a/manual/search.html +++ b/manual/search.html | |||
| @@ -1,5 +1,3 @@ | |||
| 1 | |||
| 2 | |||
| 3 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" | 1 | <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" |
| 4 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> | 2 | "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> |
| 5 | 3 | ||
| @@ -15,7 +13,7 @@ | |||
| 15 | 13 | ||
| 16 | <script type="text/javascript"> | 14 | <script type="text/javascript"> |
| 17 | var DOCUMENTATION_OPTIONS = { | 15 | var DOCUMENTATION_OPTIONS = { |
| 18 | URL_ROOT: '', | 16 | URL_ROOT: './', |
| 19 | VERSION: '0.1', | 17 | VERSION: '0.1', |
| 20 | COLLAPSE_INDEX: false, | 18 | COLLAPSE_INDEX: false, |
| 21 | FILE_SUFFIX: '.html', | 19 | FILE_SUFFIX: '.html', |
| @@ -30,6 +28,8 @@ | |||
| 30 | <script type="text/javascript"> | 28 | <script type="text/javascript"> |
| 31 | jQuery(function() { Search.loadIndex("searchindex.js"); }); | 29 | jQuery(function() { Search.loadIndex("searchindex.js"); }); |
| 32 | </script> | 30 | </script> |
| 31 | |||
| 32 | <script type="text/javascript" id="searchindexloader"></script> | ||
| 33 | 33 | ||
| 34 | 34 | ||
| 35 | </head> | 35 | </head> |
| @@ -93,7 +93,7 @@ | |||
| 93 | </div> | 93 | </div> |
| 94 | <div class="footer"> | 94 | <div class="footer"> |
| 95 | © Copyright 2014, Dodji Seketeli. | 95 | © Copyright 2014, Dodji Seketeli. |
| 96 | Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3. | 96 | Created using <a href="http://sphinx-doc.org/">Sphinx</a> 1.2.2. |
| 97 | </div> | 97 | </div> |
| 98 | </body> | 98 | </body> |
| 99 | </html> \ No newline at end of file | 99 | </html> \ No newline at end of file |
diff --git a/manual/searchindex.js b/manual/searchindex.js index d3dfd28c..e02737e4 100644 --- a/manual/searchindex.js +++ b/manual/searchindex.js | |||
| @@ -1 +1 @@ | |||
| Search.setIndex({objects:{},terms:{represent:[2,6,1],all:[4,5,6,1],code:[6,2,5,3],forget:5,global:[4,6],focus:1,prefix:5,concept:[0,5],follow:5,disk:2,whose:5,elsewher:4,program:5,under:[4,2,6],leav:5,neglig:5,base_typ:5,sourc:5,everi:5,string:5,far:5,"void":5,upstream:3,veri:5,relev:5,tri:2,foo:5,impact:5,list:5,signific:5,"try":5,dir:[2,6],prevent:5,direct:5,sign:5,second:[4,5],design:5,m_insert:5,even:5,index:5,what:[5,1],sub:[4,5],compar:[4,1],abi:[0,1,2,4,5,6],section:5,asid:1,overload:5,delet:4,version:[5,6,1],"new":5,libabigail:[0,2,5,3,1],method:5,involv:[4,5],full:6,dwarf:[4,2,6,1],gener:[5,1],here:[5,6],let:5,property2_nam:5,layout:[5,1],along:[6,1],modifi:5,implicit:5,valu:5,wait:5,anymor:5,amount:5,chang:[4,0,5,1],chanc:2,releas:3,famili:5,instal:[4,2,6],unit:2,regex:4,from:[4,2,5,1],describ:[4,5],would:5,memori:2,two:[4,5,1],implic:5,suppr:5,usr:[4,2,6],scope:1,type:[4,5,6,1],tell:[4,2,5,6],more:[5,6,1],peopl:1,relat:1,notic:5,trail:5,must:[4,2,5,6],word:[5,1],work:5,cat:5,can:[2,5,6,1],root:[4,2,6],stream:5,share:[4,5,6,1],indic:5,minimum:4,want:[5,1],suppress_funct:5,serial:2,unsign:5,declar:5,alwai:5,end:5,rather:[4,6],anoth:[5,1],write:[2,5,1],fals:5,instead:5,type_name_regexp:5,simpl:5,recogn:5,referenc:[4,5],after:5,spot:[4,2,1],redund:4,data:[5,1],"short":[4,2,5,6],practic:5,third:5,opaqu:5,stdin:2,caus:5,inform:[4,2,5,6,1],maintain:3,allow:1,least:1,help:[4,2,6,1],becaus:[4,2,5,6],type_kind:5,still:5,pointer:5,dynam:5,paramet:5,typedef:5,group:5,harmless:[4,0,5],suppress_typ:5,comprehens:4,main:2,might:5,return_type_regexp:5,non:[5,6],"return":[2,5,1],greater:4,thei:[5,3],handl:2,mention:6,abidiff:[4,2,5,3,1],now:5,term:1,name:[4,5,6],anyth:2,drop:4,separ:[4,2,6],debug:[4,2,5,6,1],found:[5,6],mean:5,compil:5,dir2:4,dir1:4,linkag:4,member1:5,expect:[2,5],distributor:1,special:5,out:[4,2,5,6],variabl:[4,5,6,1],type_nam:5,space:5,content:2,property2_valu:5,reader:5,got:[4,5],abidw:[6,2,3],red:[4,2,6],given:[5,1],standard:[2,6],base:[4,2,5,6],theori:5,ask:5,teach:5,care:5,privatetyp:5,added_memb:5,could:5,success:6,keep:[4,5],filter:[4,5],turn:5,place:6,first:[4,5],oper:2,softwar:1,onc:2,arrai:5,number:5,instruct:[5,6],noout:2,facil:1,size:[5,1],differ:[4,5,1],associ:[6,1],abilint:[2,3],system:[4,2,6],messag:[2,5,6],interfac:[4,1],white:5,option:[4,2,6],tool:[0,2,5,3,1],specifi:5,forward:5,part:[5,3],accompani:[4,2,1],than:[4,6],kind:5,target:5,provid:1,remov:[4,5],tree:[4,2,6],zero:5,structur:5,charact:5,project:3,posix:5,were:4,posit:5,arrang:[4,2,6],analysi:1,argument:5,packag:[4,2,6],manner:[4,2,6],have:[4,5],tabl:4,seen:5,incompat:1,issu:[4,2,5,1],engin:5,squar:5,lib:[4,2,6],note:[4,2,5,6],also:[4,2,5,6,1],builtin:5,build:[2,5,1],which:[4,2,5,6],singl:2,simplifi:5,begin:5,shall:5,regular:[4,5],artifact:[0,5],why:5,appear:4,path2:4,path1:4,don:5,doe:5,bracket:5,enclos:5,usual:[4,2,6],show:5,text:2,syntax:5,elf_:1,find:[4,2,6],xml:[2,6],onli:[4,2,5,6],locat:[4,6],written:3,should:5,suppos:5,express:[4,5],compli:5,nativ:[2,5],cannot:5,report:[4,5,1],organ:5,symtab:4,"public":5,statist:4,contain:[6,5,3],where:[4,2,6],summari:[4,5],set:[5,1],see:5,mandatori:[4,2,6],result:[4,1],concern:5,said:5,someth:5,label:5,enough:1,between:[4,2,5],awai:5,altern:6,extend:5,extens:6,succeed:2,litest1:5,come:5,both:5,delimit:5,howev:[5,6],equal:5,against:5,etc:5,instanc:5,comment:5,concret:1,point:[4,2,5,6],wall:5,overview:[0,3,1],symbol_version_regexp:5,arbitrarili:5,symbol_nam:5,path:[4,2,6],diff:[4,2,5],union:5,been:[4,6],trigger:5,upcom:6,suppress:[4,0,5],ani:[4,5],func:5,"catch":1,"case":[4,2,5,6],subsequ:5,look:[5,6],gnu:[5,6],plain:5,properti:5,aim:1,defin:[4,5,6],invok:5,abov:5,error:[5,6],invoc:[4,2,6],henc:5,them:5,suppress_vari:5,itself:5,clutter:4,contract:5,ascii:5,sever:[5,3],develop:1,author:5,perform:[2,1],suggest:5,make:5,mayb:5,same:5,member:5,binari:[4,1],split:[4,2,6],complet:6,nest:5,hand:5,opaque_typ:5,user:5,symbol_name_regexp:5,introductori:5,built:5,thu:[4,5],nonetheless:5,well:[5,1],inherit:5,exampl:5,command:[4,2,6],thi:[4,2,5,6,1],english:5,programm:5,model:2,roughli:1,propos:6,test1:5,test2:5,just:[4,5],touch:5,section_nam:5,struct:5,property1_valu:5,elf:[4,2,5,6,1],instrument:1,input:[4,2,6],save:2,hat:[4,2,6],match:[4,5],take:5,real:4,applic:[4,5,1],around:5,format:[4,2,5,6,1],read:[4,2,5,6],know:[4,2,5,6],bit:5,insert:5,like:[4,2,5,6,1],specif:[4,0,5,6],manual:[0,3],property1_nam:5,either:[4,5],pars:[2,1],output:[2,5,6],soft:5,manag:[4,2,6],return_type_nam:5,underli:2,name_regexp:5,compat:5,some:[4,5,1],back:2,libtest2:5,libtest1:5,"export":[5,1],indirect:5,intact:5,librari:[1,2,3,4,5,6],lead:5,avoid:5,definit:5,exit:[4,2,6],slash:5,apostroph:5,refer:[5,6],"enum":5,repositori:3,offset:5,"super":5,comparison:1,about:[4,5,6,1],surround:5,stand:1,file1:2,harm:[4,0,5],empti:5,ensur:5,your:[4,2,6],inclus:6,wai:[2,5,1],textual:1,"class":5,start:5,fooprivatetyp:5,includ:[4,6],"var":4,"function":[4,5,6,1],form:[2,5],link:5,translat:[2,5],intern:1,line:5,info:[4,2,6],succe:2,possibl:5,"default":[4,5],displai:[4,2,6],below:5,otherwis:[4,6],emit:[4,2,5,6,1],member0:5,unreferenc:4,"int":5,certain:5,parser:5,deep:1,repres:[2,1],"char":5,exist:5,ini:5,file:[4,2,5,6],check:6,again:5,floor:4,when:[4,2,5],detail:4,other:[4,5,1],you:[5,6],stat:4,sequenc:5,symbol:[4,5,6,1],meaning:[4,2,6,1],intent:2,consid:[5,1],symbol_vers:5,stai:5,reduc:5,directori:[4,2,6],ignor:5,potenti:5,time:5,escap:5},objtypes:{},titles:["Libabigail manual","Overview of Libabigail","abilint","Tools","abidiff","Concepts","abidw"],objnames:{},filenames:["index","libabigail-overview","abilint","libabigail-tools","abidiff","libabigail-concepts","abidw"]}) \ No newline at end of file | Search.setIndex({envversion:42,terms:{represent:[2,6,1],all:[4,5,6,1],code:[6,2,5,3],forget:5,global:[4,6],focus:1,prefix:5,concept:[],follow:5,disk:2,whose:5,elsewher:4,program:5,under:[4,2,6],leav:5,neglig:5,base_typ:5,sourc:5,everi:5,string:5,far:5,"void":[4,5],upstream:3,veri:5,relev:5,tri:2,apostroph:5,impact:5,list:5,signific:5,"try":5,dir:[2,6],prevent:5,direct:5,sign:5,second:[4,5],design:5,m_insert:5,compat:5,index:5,what:[5,1],sub:[4,5],compar:[4,1],abi:[2,6],section:5,asid:1,overload:5,delet:4,version:[5,6,1],"new":5,libabigail:2,"public":[4,5],involv:[4,5],full:6,dwarf:[4,2,6,1],gener:[5,1],even:5,here:[5,6],let:5,property2_nam:5,layout:[5,1],along:[6,1],modifi:5,implicit:5,valu:5,wait:5,anymor:5,amount:5,chang:[],chanc:2,releas:3,famili:5,instal:[4,2,6],unit:2,regex:4,from:[4,2,5,1],describ:[4,5],would:5,memori:2,two:[4,5,1],implic:5,suppr:5,usr:[4,2,6],scope:1,type:[4,5,6,1],tell:[4,2,5,6],more:[5,6,1],peopl:1,relat:1,notic:5,trail:5,must:[4,2,5,6],word:[5,1],work:5,cat:[4,5],can:[2,5,6,1],root:[4,2,6],stream:5,share:[4,5,6,1],indic:5,minimum:4,want:[5,1],suppress_funct:5,serial:2,unsign:5,declar:5,alwai:5,end:5,rather:[4,6],anoth:[4,5,1],write:[2,5,1],fals:5,instead:5,type_name_regexp:5,simpl:5,recogn:5,referenc:[4,5],after:5,spot:[4,2,1],redund:4,associ:[6,1],"short":[4,2,5,6],practic:5,third:5,opaqu:5,stdin:2,caus:5,inform:[4,2,5,6,1],maintain:3,allow:1,least:1,help:[4,2,6,1],becaus:[4,2,5,6],report:[4,5,1],still:5,pointer:5,dynam:5,paramet:[4,5],typedef:5,group:5,harmless:[],suppress_typ:5,comprehens:4,main:2,might:5,return_type_regexp:5,non:[5,6],"return":[2,5,1],greater:4,thei:[5,3],handl:2,mention:6,now:5,term:1,name:[4,5,6],anyth:2,drop:4,separ:[4,2,6],debug:[],found:[5,6],mean:5,compil:[4,5],dir2:4,dir1:4,linkag:4,member1:5,expect:[2,5],distributor:1,special:5,out:[4,2,5,6],variabl:[4,5,6,1],type_nam:5,space:5,content:2,property2_valu:5,reader:5,got:[4,5],red:[4,2,6],given:[5,1],standard:[2,6],base:[4,2,5,6],theori:5,ask:5,teach:5,care:5,privatetyp:5,added_memb:5,could:5,inserted_memb:4,keep:[4,5],filter:[4,5],turn:5,place:6,first:[4,5],oper:2,softwar:1,onc:2,arrai:5,number:5,instruct:[5,6],noout:2,facil:1,size:[4,5,1],differ:[4,5,1],data:[4,5,1],system:[4,2,6],messag:[2,5,6],white:5,tool:[2,5,1],specifi:5,forward:5,part:[5,3],accompani:[4,2,1],than:[4,6],kind:5,target:5,provid:1,remov:[4,5],tree:[4,2,6],zero:5,structur:5,charact:5,project:3,posix:5,were:4,posit:5,arrang:[4,2,6],analysi:1,argument:5,packag:[4,2,6],manner:[4,2,6],have:[4,5],tabl:4,seen:5,incompat:1,issu:[4,2,5,1],engin:5,squar:5,lib:[4,2,6],note:[],also:[4,2,5,6,1],builtin:5,build:[4,2,5,1],which:[4,2,5,6],singl:2,simplifi:5,begin:5,shall:5,said:5,artifact:[],why:5,appear:4,path2:4,path1:4,don:5,doe:5,bracket:5,enclos:5,usual:[4,2,6],show:5,fooprivatetyp:5,syntax:5,elf_:1,find:[4,2,6],xml:[2,6],onli:[4,2,5,6],locat:[4,6],written:3,should:5,suppos:5,express:[4,5],compli:5,nativ:[2,5],cannot:5,type_kind:5,bar:4,organ:5,symtab:4,method:5,statist:4,contain:[6,5,3],where:[4,2,6],summari:[4,5],set:[5,1],see:5,mandatori:[4,2,6],result:[4,1],concern:5,detect:4,someth:[4,5],label:5,enough:1,between:[4,2,5],awai:5,extend:5,extens:6,succeed:2,litest1:5,come:5,both:5,delimit:5,howev:[5,6],equal:5,against:5,etc:5,instanc:5,comment:5,concret:1,property1_valu:5,wall:[4,5],overview:[],symbol_version_regexp:5,arbitrarili:5,symbol_nam:5,path:[4,2,6],diff:[4,2,5],type_bas:4,union:5,been:[4,6],trigger:5,upcom:6,suppress:[],ani:[4,5],func:5,"catch":1,"case":[4,2,5,6],subsequ:5,look:[5,6],gnu:[5,6],plain:5,properti:5,aim:1,defin:[4,5,6],invok:5,abov:5,error:[5,6],henc:5,them:5,suppress_vari:5,itself:5,clutter:4,contract:5,ascii:5,sever:[5,3],develop:1,author:5,perform:[2,1],suggest:5,make:5,mayb:5,same:5,member:[4,5],binari:[4,1],split:[4,2,6],success:6,complet:6,nest:5,hand:5,opaque_typ:5,user:5,symbol_name_regexp:5,introductori:5,built:5,"_z3foor2s0":4,thu:[4,5],nonetheless:5,well:[5,1],inherit:5,command:[4,2,6],thi:[4,2,5,6,1],english:5,programm:5,model:2,roughli:1,propos:6,test1:5,test2:5,just:[4,5],touch:5,section_nam:5,struct:[4,5],"_z3barr2s0":4,point:[4,2,5,6],elf:[4,2,5,6,1],instrument:1,input:[4,2,6],save:2,hat:[4,2,6],match:[4,5],take:5,real:4,applic:[4,5,1],around:5,format:[4,2,5,6,1],read:[4,2,5,6],know:[4,2,5,6],bit:[4,5],insert:[4,5],like:[4,2,5,6,1],specif:6,property1_nam:5,either:[4,5],pars:[2,1],output:[2,5,6],soft:5,manag:[4,2,6],return_type_nam:5,underli:2,name_regexp:5,some:[4,5,1],back:2,libtest2:5,libtest1:5,"export":[5,1],indirect:[4,5],intact:5,librari:[1,2,3,4,5,6],parameter_nam:4,lead:5,avoid:5,definit:5,exit:[4,2,6],slash:5,foo:[4,5],refer:[5,6],"enum":5,repositori:3,offset:[4,5],"super":5,comparison:1,about:[4,5,6,1],surround:5,regular:[4,5],stand:1,file1:2,harm:[],empti:5,ensur:5,your:[4,2,6],inclus:6,wai:[2,5,1],textual:1,"class":[4,5],start:5,interfac:[4,1],includ:[4,6],"var":4,"function":[4,5,6,1],form:[2,5],link:5,translat:[2,5],intern:1,line:5,info:[],succe:2,possibl:5,"default":[4,5],displai:[4,2,6],below:5,otherwis:[4,6],emit:[4,2,5,6,1],libtest:4,member0:5,unreferenc:4,"int":[4,5],certain:5,parser:5,deep:1,repres:[2,1],"char":[4,5],exist:5,ini:5,file:[],check:6,again:5,floor:4,when:[4,2,5],detail:4,other:[4,5,1],test:4,ignor:5,you:[5,6],stat:4,sequenc:5,symbol:[4,5,6,1],meaning:[4,2,6,1],intent:2,consid:[5,1],symbol_vers:5,stai:5,reduc:5,directori:[4,2,6],text:2,potenti:5,time:5,escap:5},objtypes:{},objnames:{},filenames:["index","libabigail-overview","abilint","libabigail-tools","abidiff","libabigail-concepts","abidw"],titles:["Libabigail manual","Overview of Libabigail","abilint","Tools","abidiff","Concepts","abidw"],objects:{},titleterms:{harm:5,concept:5,overview:[3,1],file:6,abi:5,abilint:2,note:6,harmless:5,libabigail:[0,1],altern:6,option:[4,2,6],suppress:5,tool:3,usag:4,artifact:5,abidiff:4,chang:5,info:6,specif:5,abidw:6,manual:[0,3],exampl:4,debug:6,invoc:[4,2,6]}}) \ No newline at end of file | ||
