merge prior to push
authorGlenn Adams <glenn@skynav.com>
Sun, 01 Sep 2013 11:29:56 -0600
changeset 527 65fb63c1547e
parent 526 10ed56dc0208 (current diff)
parent 524 8a11bdd0905a (diff)
child 528 7a43f24f2acd
merge prior to push
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml-ww-profiles/base.css	Sun Sep 01 11:29:56 2013 -0600
@@ -0,0 +1,69 @@
+/* Copyright 1997-2003 W3C (MIT, ERCIM, Keio). All Rights Reserved.
+   The following software licensing rules apply:
+   http://www.w3.org/Consortium/Legal/copyright-software */
+
+/* $Id: base.css,v 1.14 2006/04/18 08:21:59 bbos Exp $ */
+
+/* this style sheet defines the basic style for all W3C pages */
+/* you can point to this by adding:
+
+     <LINK rel="Stylesheet" href="/StyleSheets/base">
+
+
+   in the HEAD of your HTML document */
+
+body {
+  font-family: sans-serif;
+  color: black;
+  background: white;
+}
+
+a:link, a:active {
+  color: #00e;
+  background: transparent;
+}
+
+a:visited {
+  color: #529;
+  background: transparent;
+}
+
+div.intro {
+  margin-left: 5%;
+  margin-right: 5%;
+  font-style: italic
+}
+
+pre {
+  font-family: monospace
+}
+
+a:link img, a:visited img {
+   border-style: none
+}
+
+a img { color: white; }        /* hide the border in Netscape 4 */
+@media all {                   /* hide from Netscape 4 */
+  a img { color: inherit; }    /* undo the rule above */
+}
+
+ul.toc, ol.toc {
+  list-style: disc;
+  list-style: none;
+}
+
+div.issue {
+  padding: 0.5em;
+  border: none;
+  margin-right: 5%;
+}
+
+.hideme { display: none }
+
+@media print {
+
+  table {
+    page-break-inside: avoid
+  }
+
+}
\ No newline at end of file
Binary file ttml-ww-profiles/hypothetical-render-figure-1.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml-ww-profiles/respec-w3c-common.js	Sun Sep 01 11:29:56 2013 -0600
@@ -0,0 +1,3 @@
+/* ReSpec 3.1.58 - Robin Berjon, http://berjon.com/ (@robinberjon) */
+/* See original source for licenses: https://github.com/darobin/respec. */
+var requirejs,require,define;(function(r){function K(e){return O.call(e)==="[object Function]"}function G(e){return O.call(e)==="[object Array]"}function $(e,t,n){for(var r in t)!(r in L)&&(!(r in e)||n)&&(e[r]=t[r]);return d}function P(e,t,n){return e=Error(t+"\nhttp://requirejs.org/docs/errors.html#"+e),n&&(e.originalError=n),e}function aa(e,t,n){var r,i,s;for(r=0;s=t[r];r++)s=typeof s=="string"?{name:s}:s,i=s.location,n&&(!i||i.indexOf("/")!==0&&i.indexOf(":")===-1)&&(i=n+"/"+(i||s.name)),e[s.name]={name:s.name,location:i||s.name,main:(s.main||"main").replace(fa,"").replace(ba,"")}}function V(e,t){e.holdReady?e.holdReady(t):t?e.readyWait+=1:e.ready(!0)}function ga(e){function t(e,t){var n,r;if(e&&e.charAt(0)===".")if(t){E.pkgs[t]?t=[t]:(t=t.split("/"),t=t.slice(0,t.length-1)),n=e=t.concat(e.split("/"));var i;for(r=0;i=n[r];r++)if(i===".")n.splice(r,1),r-=1;else if(i===".."){if(r===1&&(n[2]===".."||n[0]===".."))break;r>0&&(n.splice(r-1,2),r-=2)}r=E.pkgs[n=e[0]],e=e.join("/"),r&&e===n+"/"+r.main&&(e=n)}else e.indexOf("./")===0&&(e=e.substring(2));return e}function n(e,n){var r=e?e.indexOf("!"):-1,i=null,s=n?n.name:null,o=e,u,a;return r!==-1&&(i=e.substring(0,r),e=e.substring(r+1,e.length)),i&&(i=t(i,s)),e&&(i?u=(r=N[i])&&r.normalize?r.normalize(e,function(e){return t(e,s)}):t(e,s):(u=t(e,s),a=T[u],a||(a=b.nameToUrl(e,null,n),T[u]=a))),{prefix:i,name:u,parentMap:n,url:a,originalName:o,fullName:i?i+"!"+(u||""):u}}function i(){var e=!0,t=E.priorityWait,n,r;if(t){for(r=0;n=t[r];r++)if(!C[n]){e=!1;break}e&&delete E.priorityWait}return e}function s(e,t,n){return function(){var r=ha.call(arguments,0),i;return n&&K(i=r[r.length-1])&&(i.__requireJsBuild=!0),r.push(t),e.apply(null,r)}}function o(e,t,n){return t=s(n||b.require,e,t),$(t,{nameToUrl:s(b.nameToUrl,e),toUrl:s(b.toUrl,e),defined:s(b.requireDefined,e),specified:s(b.requireSpecified,e),isBrowser:d.isBrowser}),t}function u(e){var t,i,s,o=e.callback,u=e.map,a=u.fullName,f=e.deps;s=e.listeners;var l=E.requireExecCb||d.execCb;if(o&&K(o)){if(E.catchError.define)try{i=l(a,e.callback,f,N[a])}catch(c){t=c}else i=l(a,e.callback,f,N[a]);a&&((o=e.cjsModule)&&o.exports!==r&&o.exports!==N[a]?i=N[a]=e.cjsModule.exports:i===r&&e.usingExports?i=N[a]:(N[a]=i,H[a]&&(B[a]=!0)))}else a&&(i=N[a]=o,H[a]&&(B[a]=!0));k[e.id]&&(delete k[e.id],e.isDone=!0,b.waitCount-=1,b.waitCount===0&&(A=[])),delete _[a],d.onResourceLoad&&!e.placeholder&&d.onResourceLoad(b,u,e.depArray);if(t)return i=(a?n(a).url:"")||t.fileName||t.sourceURL,s=t.moduleTree,t=P("defineerror",'Error evaluating module "'+a+'" at location "'+i+'":\n'+t+"\nfileName:"+i+"\nlineNumber: "+(t.lineNumber||t.line),t),t.moduleName=a,t.moduleTree=s,d.onError(t);for(t=0;o=s[t];t++)o(i);return r}function a(e,t){return function(n){e.depDone[t]||(e.depDone[t]=!0,e.deps[t]=n,e.depCount-=1,e.depCount||u(e))}}function f(e,t){var r=t.map,i=r.fullName,s=r.name,a=D[e]||(D[e]=N[e]),f;t.loading||(t.loading=!0,f=function(e){t.callback=function(){return e},u(t),C[t.id]=!0,w()},f.fromText=function(e,t){var n=Q;C[e]=!1,b.scriptCount+=1,b.fake[e]=!0,n&&(Q=!1),d.exec(t),n&&(Q=!0),b.completeLoad(e)},i in N?f(N[i]):a.load(s,o(r.parentMap,!0,function(e,i){var s=[],o,u;for(o=0;u=e[o];o++)u=n(u,r.parentMap),e[o]=u.fullName,u.prefix||s.push(e[o]);return t.moduleDeps=(t.moduleDeps||[]).concat(s),b.require(e,i)}),f,E))}function l(e){k[e.id]||(k[e.id]=e,A.push(e),b.waitCount+=1)}function c(e){this.listeners.push(e)}function h(e,t){var r=e.fullName,i=e.prefix,s=i?D[i]||(D[i]=N[i]):null,o,a;return r&&(o=_[r]),!o&&(a=!0,o={id:(i&&!s?M++ +"__p@:":"")+(r||"__r@"+M++),map:e,depCount:0,depDone:[],depCallbacks:[],deps:[],listeners:[],add:c},x[o.id]=!0,r&&(!i||D[i]))&&(_[r]=o),i&&!s?(r=n(i),i in N&&!N[i]&&(delete N[i],delete O[r.url]),i=h(r,!0),i.add(function(){var t=n(e.originalName,e.parentMap),t=h(t,!0);o.placeholder=!0,t.add(function(e){o.callback=function(){return e},u(o)})})):a&&t&&(C[o.id]=!1,b.paused.push(o),l(o)),o}function p(e,t,i,s){var e=n(e,s),f=e.name,c=e.fullName,p=h(e),d=p.id,v=p.deps,m;if(c){if(c in N||C[d]===!0||c==="jquery"&&E.jQuery&&E.jQuery!==i().fn.jquery)return;x[d]=!0,C[d]=!0,c==="jquery"&&i&&W(i())}p.depArray=t,p.callback=i;for(i=0;i<t.length;i++)if(d=t[i])d=n(d,f?e:s),m=d.fullName,t[i]=m,m==="require"?v[i]=o(e):m==="exports"?(v[i]=N[c]={},p.usingExports=!0):m==="module"?p.cjsModule=v[i]={id:f,uri:f?b.nameToUrl(f,null,s):r,exports:N[c]}:!(m in N)||m in k||c in H&&!(c in H&&B[m])?(c in H&&(H[m]=!0,delete N[m],O[d.url]=!1),p.depCount+=1,p.depCallbacks[i]=a(p,i),h(d,!0).add(p.depCallbacks[i])):v[i]=N[m];p.depCount?l(p):u(p)}function v(e){p.apply(null,e)}function m(e,t){var n=e.map.fullName,i=e.depArray,s=!0,o,u,a,f;if(e.isDone||!n||!C[n])return f;if(t[n])return e;t[n]=!0;if(i){for(o=0;o<i.length;o++){u=i[o];if(!C[u]&&!ia[u]){s=!1;break}if((a=k[u])&&!a.isDone&&C[u])if(f=m(a,t))break}s||(f=r,delete t[n])}return f}function g(e,t){var i=e.map.fullName,s=e.depArray,o,u,a,f;if(e.isDone||!i||!C[i])return r;if(i){if(t[i])return N[i];t[i]=!0}if(s)for(o=0;o<s.length;o++)if(u=s[o])if((a=n(u).prefix)&&(f=k[a])&&g(f,t),(a=k[u])&&!a.isDone&&C[u])u=g(a,t),e.depCallbacks[o](u);return N[i]}function y(){var e=E.waitSeconds*1e3,e=e&&b.startTime+e<(new Date).getTime(),t="",n=!1,s=!1,o=[],u,a;if(b.pausedCount>0)return r;if(E.priorityWait){if(!i())return r;w()}for(u in C)if(!(u in L)&&(n=!0,!C[u]))if(e)t+=u+" ";else{if(s=!0,u.indexOf("!")===-1){o=[];break}(a=_[u]&&_[u].moduleDeps)&&o.push.apply(o,a)}if(!n&&!b.waitCount)return r;if(e&&t)return e=P("timeout","Load timeout for modules: "+t),e.requireType="timeout",e.requireModules=t,e.contextName=b.contextName,d.onError(e);if(s&&o.length)for(t=0;u=k[o[t]];t++)if(u=m(u,{})){g(u,{});break}if(!e&&(s||b.scriptCount))return(I||da)&&!X&&(X=setTimeout(function(){X=0,y()},50)),r;if(b.waitCount){for(t=0;u=A[t];t++)g(u,{});b.paused.length&&w(),Y<5&&(Y+=1,y())}return Y=0,d.checkReadyState(),r}var b,w,E={waitSeconds:7,baseUrl:"./",paths:{},pkgs:{},catchError:{}},S=[],x={require:!0,exports:!0,module:!0},T={},N={},C={},k={},A=[],O={},M=0,_={},D={},H={},B={},j=0;return W=function(e){!b.jQuery&&(e=e||(typeof jQuery!="undefined"?jQuery:null))&&(!E.jQuery||e.fn.jquery===E.jQuery)&&("holdReady"in e||"readyWait"in e)&&(b.jQuery=e,v(["jquery",[],function(){return jQuery}]),b.scriptCount)&&(V(e,!0),b.jQueryIncremented=!0)},w=function(){var e,t,n,s,o,u;b.takeGlobalQueue(),j+=1,b.scriptCount<=0&&(b.scriptCount=0);for(;S.length;){if(e=S.shift(),e[0]===null)return d.onError(P("mismatch","Mismatched anonymous define() module: "+e[e.length-1]));v(e)}if(!E.priorityWait||i())for(;b.paused.length;){o=b.paused,b.pausedCount+=o.length,b.paused=[];for(s=0;e=o[s];s++)t=e.map,n=t.url,u=t.fullName,t.prefix?f(t.prefix,e):!O[n]&&!C[u]&&((E.requireLoad||d.load)(b,u,n),n.indexOf("empty:")!==0&&(O[n]=!0));b.startTime=(new Date).getTime(),b.pausedCount-=o.length}return j===1&&y(),j-=1,r},b={contextName:e,config:E,defQueue:S,waiting:k,waitCount:0,specified:x,loaded:C,urlMap:T,urlFetched:O,scriptCount:0,defined:N,paused:[],pausedCount:0,plugins:D,needFullExec:H,fake:{},fullExec:B,managerCallbacks:_,makeModuleMap:n,normalize:t,configure:function(e){var t,n,r;e.baseUrl&&e.baseUrl.charAt(e.baseUrl.length-1)!=="/"&&(e.baseUrl+="/"),t=E.paths,r=E.pkgs,$(E,e,!0);if(e.paths){for(n in e.paths)n in L||(t[n]=e.paths[n]);E.paths=t}if((t=e.packagePaths)||e.packages){if(t)for(n in t)n in L||aa(r,t[n],n);e.packages&&aa(r,e.packages),E.pkgs=r}e.priority&&(n=b.requireWait,b.requireWait=!1,w(),b.require(e.priority),w(),b.requireWait=n,E.priorityWait=e.priority),(e.deps||e.callback)&&b.require(e.deps||[],e.callback)},requireDefined:function(e,t){return n(e,t).fullName in N},requireSpecified:function(e,t){return n(e,t).fullName in x},require:function(t,r,i){if(typeof t=="string")return K(r)?d.onError(P("requireargs","Invalid require call")):d.get?d.get(b,t,r):(r=n(t,r),t=r.fullName,t in N?N[t]:d.onError(P("notloaded","Module name '"+r.fullName+"' has not been loaded yet for context: "+e)));(t&&t.length||r)&&p(null,t,r,i);if(!b.requireWait)for(;!b.scriptCount&&b.paused.length;)w();return b.require},takeGlobalQueue:function(){U.length&&(ja.apply(b.defQueue,[b.defQueue.length-1,0].concat(U)),U=[])},completeLoad:function(e){var t;for(b.takeGlobalQueue();S.length;){if(t=S.shift(),t[0]===null){t[0]=e;break}if(t[0]===e)break;v(t),t=null}t?v(t):v([e,[],e==="jquery"&&typeof jQuery!="undefined"?function(){return jQuery}:null]),d.isAsync&&(b.scriptCount-=1),w(),d.isAsync||(b.scriptCount-=1)},toUrl:function(e,t){var n=e.lastIndexOf("."),r=null;return n!==-1&&(r=e.substring(n,e.length),e=e.substring(0,n)),b.nameToUrl(e,r,t)},nameToUrl:function(e,n,r){var i,s,o,u,a=b.config,e=t(e,r&&r.fullName);if(d.jsExtRegExp.test(e))n=e+(n?n:"");else{i=a.paths,s=a.pkgs,r=e.split("/");for(u=r.length;u>0;u--){if(o=r.slice(0,u).join("/"),i[o]){r.splice(0,u,i[o]);break}if(o=s[o]){e=e===o.name?o.location+"/"+o.main:o.location,r.splice(0,u,e);break}}n=r.join("/")+(n||".js"),n=(n.charAt(0)==="/"||n.match(/^[\w\+\.\-]+:/)?"":a.baseUrl)+n}return a.urlArgs?n+((n.indexOf("?")===-1?"?":"&")+a.urlArgs):n}},b.jQueryCheck=W,b.resume=w,b}function ka(){var e,t,n;if(C&&C.readyState==="interactive")return C;e=document.getElementsByTagName("script");for(t=e.length-1;t>-1&&(n=e[t]);t--)if(n.readyState==="interactive")return C=n;return null}var la=/(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,ma=/require\(\s*["']([^'"\s]+)["']\s*\)/g,fa=/^\.\//,ba=/\.js$/,O=Object.prototype.toString,u=Array.prototype,ha=u.slice,ja=u.splice,I=typeof window!="undefined"&&!!navigator&&!!document,da=!I&&typeof importScripts!="undefined",na=I&&navigator.platform==="PLAYSTATION 3"?/^complete$/:/^(complete|loaded)$/,ea=typeof opera!="undefined"&&opera.toString()==="[object Opera]",L={},D={},U=[],C=null,Y=0,Q=!1,ia={require:!0,module:!0,exports:!0},d,u={},J,y,v,E,o,w,F,B,z,W,X;if(typeof define=="undefined"){if(typeof requirejs!="undefined"){if(K(requirejs))return;u=requirejs,requirejs=r}typeof require!="undefined"&&!K(require)&&(u=require,require=r),d=requirejs=function(e,t,n){var r="_",i;return!G(e)&&typeof e!="string"&&(i=e,G(t)?(e=t,t=n):e=[]),i&&i.context&&(r=i.context),n=D[r]||(D[r]=ga(r)),i&&n.configure(i),n.require(e,t)},d.config=function(e){return d(e)},require||(require=d),d.toUrl=function(e){return D._.toUrl(e)},d.version="1.0.8",d.jsExtRegExp=/^\/|:|\?|\.js$/,y=d.s={contexts:D,skipAsync:{}};if(d.isAsync=d.isBrowser=I)if(v=y.head=document.getElementsByTagName("head")[0],E=document.getElementsByTagName("base")[0])v=y.head=E.parentNode;d.onError=function(e){throw e},d.load=function(e,t,n){d.resourcesReady(!1),e.scriptCount+=1,d.attach(n,e,t),e.jQuery&&!e.jQueryIncremented&&(V(e.jQuery,!0),e.jQueryIncremented=!0)},define=function(e,t,n){var i,s;return typeof e!="string"&&(n=t,t=e,e=null),G(t)||(n=t,t=[]),!t.length&&K(n)&&n.length&&(n.toString().replace(la,"").replace(ma,function(e,n){t.push(n)}),t=(n.length===1?["require"]:["require","exports","module"]).concat(t)),Q&&(i=J||ka())&&(e||(e=i.getAttribute("data-requiremodule")),s=D[i.getAttribute("data-requirecontext")]),(s?s.defQueue:U).push([e,t,n]),r},define.amd={multiversion:!0,plugins:!0,jQuery:!0},d.exec=function(a){return eval(a)},d.execCb=function(e,t,n,r){return t.apply(r,n)},d.addScriptToDom=function(e){J=e,E?v.insertBefore(e,E):v.appendChild(e),J=null},d.onScriptLoad=function(e){var t=e.currentTarget||e.srcElement,n;if(e.type==="load"||t&&na.test(t.readyState))C=null,e=t.getAttribute("data-requirecontext"),n=t.getAttribute("data-requiremodule"),D[e].completeLoad(n),t.detachEvent&&!ea?t.detachEvent("onreadystatechange",d.onScriptLoad):t.removeEventListener("load",d.onScriptLoad,!1)},d.attach=function(e,t,n,r,i,s){var o;return I?(r=r||d.onScriptLoad,o=t&&t.config&&t.config.xhtml?document.createElementNS("http://www.w3.org/1999/xhtml","html:script"):document.createElement("script"),o.type=i||t&&t.config.scriptType||"text/javascript",o.charset="utf-8",o.async=!y.skipAsync[e],t&&o.setAttribute("data-requirecontext",t.contextName),o.setAttribute("data-requiremodule",n),o.attachEvent&&!(o.attachEvent.toString&&o.attachEvent.toString().indexOf("[native code]")<0)&&!ea?(Q=!0,s?o.onreadystatechange=function(){o.readyState==="loaded"&&(o.onreadystatechange=null,o.attachEvent("onreadystatechange",r),s(o))}:o.attachEvent("onreadystatechange",r)):o.addEventListener("load",r,!1),o.src=e,s||d.addScriptToDom(o),o):(da&&(importScripts(e),t.completeLoad(n)),null)};if(I){o=document.getElementsByTagName("script");for(B=o.length-1;B>-1&&(w=o[B]);B--){v||(v=w.parentNode);if(F=w.getAttribute("data-main")){u.baseUrl||(o=F.split("/"),w=o.pop(),o=o.length?o.join("/")+"/":"./",u.baseUrl=o,F=w.replace(ba,"")),u.deps=u.deps?u.deps.concat(F):[F];break}}}d.checkReadyState=function(){var e=y.contexts,t;for(t in e)if(!(t in L)&&e[t].waitCount)return;d.resourcesReady(!0)},d.resourcesReady=function(e){var t,n;d.resourcesDone=e;if(d.resourcesDone)for(n in e=y.contexts,e)!(n in L)&&(t=e[n],t.jQueryIncremented)&&(V(t.jQuery,!1),t.jQueryIncremented=!1)},d.pageLoaded=function(){document.readyState!=="complete"&&(document.readyState="complete")},I&&document.addEventListener&&!document.readyState&&(document.readyState="loading",window.addEventListener("load",d.pageLoaded,!1)),d(u),d.isAsync&&typeof setTimeout!="undefined"&&(z=y.contexts[u.context||"_"],z.requireWait=!0,setTimeout(function(){z.requireWait=!1,z.scriptCount||z.resume(),d.checkReadyState()},0))}})(),function(e,t){function n(e){return H.isWindow(e)?e:e.nodeType===9?e.defaultView||e.parentWindow:!1}function r(e){if(!vn[e]){var t=_.body,n=H("<"+e+">").appendTo(t),r=n.css("display");n.remove();if(r==="none"||r===""){mn||(mn=_.createElement("iframe"),mn.frameBorder=mn.width=mn.height=0),t.appendChild(mn);if(!gn||!mn.createElement)gn=(mn.contentWindow||mn.contentDocument).document,gn.write((H.support.boxModel?"<!doctype html>":"")+"<html><body>"),gn.close();n=gn.createElement(e),gn.body.appendChild(n),r=H.css(n,"display"),t.removeChild(mn)}vn[e]=r}return vn[e]}function i(e,t){var n={};return H.each(En.concat.apply([],En.slice(0,t)),function(){n[this]=e}),n}function s(){Sn=t}function o(){return setTimeout(s,0),Sn=H.now()}function u(){try{return new e.ActiveXObject("Microsoft.XMLHTTP")}catch(t){}}function a(){try{return new e.XMLHttpRequest}catch(t){}}function f(e,n){e.dataFilter&&(n=e.dataFilter(n,e.dataType));var r=e.dataTypes,i={},s,o,u=r.length,a,f=r[0],l,c,h,p,d;for(s=1;s<u;s++){if(s===1)for(o in e.converters)typeof o=="string"&&(i[o.toLowerCase()]=e.converters[o]);l=f,f=r[s];if(f==="*")f=l;else if(l!=="*"&&l!==f){c=l+" "+f,h=i[c]||i["* "+f];if(!h){d=t;for(p in i){a=p.split(" ");if(a[0]===l||a[0]==="*"){d=i[a[1]+" "+f];if(d){p=i[p],p===!0?h=d:d===!0&&(h=p);break}}}}!h&&!d&&H.error("No conversion from "+c.replace(" "," to ")),h!==!0&&(n=h?h(n):d(p(n)))}}return n}function l(e,n,r){var i=e.contents,s=e.dataTypes,o=e.responseFields,u,a,f,l;for(a in o)a in r&&(n[o[a]]=r[a]);while(s[0]==="*")s.shift(),u===t&&(u=e.mimeType||n.getResponseHeader("content-type"));if(u)for(a in i)if(i[a]&&i[a].test(u)){s.unshift(a);break}if(s[0]in r)f=s[0];else{for(a in r){if(!s[0]||e.converters[a+" "+s[0]]){f=a;break}l||(l=a)}f=f||l}if(f)return f!==s[0]&&s.unshift(f),r[f]}function c(e,t,n,r){if(H.isArray(t))H.each(t,function(t,i){n||Ut.test(e)?r(e,i):c(e+"["+(typeof i=="object"?t:"")+"]",i,n,r)});else if(!n&&H.type(t)==="object")for(var i in t)c(e+"["+i+"]",t[i],n,r);else r(e,t)}function h(e,n){var r,i,s=H.ajaxSettings.flatOptions||{};for(r in n)n[r]!==t&&((s[r]?e:i||(i={}))[r]=n[r]);i&&H.extend(!0,e,i)}function p(e,n,r,i,s,o){s=s||n.dataTypes[0],o=o||{},o[s]=!0;var u=e[s],a=0,f=u?u.length:0,l=e===rn,c;for(;a<f&&(l||!c);a++)c=u[a](n,r,i),typeof c=="string"&&(!l||o[c]?c=t:(n.dataTypes.unshift(c),c=p(e,n,r,i,c,o)));return(l||!c)&&!o["*"]&&(c=p(e,n,r,i,"*",o)),c}function d(e){return function(t,n){typeof t!="string"&&(n=t,t="*");if(H.isFunction(n)){var r=t.toLowerCase().split(Zt),i=0,s=r.length,o,u,a;for(;i<s;i++)o=r[i],a=/^\+/.test(o),a&&(o=o.substr(1)||"*"),u=e[o]=e[o]||[],u[a?"unshift":"push"](n)}}}function v(e,t,n){var r=t==="width"?e.offsetWidth:e.offsetHeight,i=t==="width"?1:0,s=4;if(r>0){if(n!=="border")for(;i<s;i+=2)n||(r-=parseFloat(H.css(e,"padding"+jt[i]))||0),n==="margin"?r+=parseFloat(H.css(e,n+jt[i]))||0:r-=parseFloat(H.css(e,"border"+jt[i]+"Width"))||0;return r+"px"}r=Ft(e,t);if(r<0||r==null)r=e.style[t];if(Dt.test(r))return r;r=parseFloat(r)||0;if(n)for(;i<s;i+=2)r+=parseFloat(H.css(e,"padding"+jt[i]))||0,n!=="padding"&&(r+=parseFloat(H.css(e,"border"+jt[i]+"Width"))||0),n==="margin"&&(r+=parseFloat(H.css(e,n+jt[i]))||0);return r+"px"}function m(e){var t=_.createElement("div");return Lt.appendChild(t),t.innerHTML=e.outerHTML,t.firstChild}function g(e){var t=(e.nodeName||"").toLowerCase();t==="input"?y(e):t!=="script"&&typeof e.getElementsByTagName!="undefined"&&H.grep(e.getElementsByTagName("input"),y)}function y(e){if(e.type==="checkbox"||e.type==="radio")e.defaultChecked=e.checked}function b(e){return typeof e.getElementsByTagName!="undefined"?e.getElementsByTagName("*"):typeof e.querySelectorAll!="undefined"?e.querySelectorAll("*"):[]}function w(e,t){var n;t.nodeType===1&&(t.clearAttributes&&t.clearAttributes(),t.mergeAttributes&&t.mergeAttributes(e),n=t.nodeName.toLowerCase(),n==="object"?t.outerHTML=e.outerHTML:n!=="input"||e.type!=="checkbox"&&e.type!=="radio"?n==="option"?t.selected=e.defaultSelected:n==="input"||n==="textarea"?t.defaultValue=e.defaultValue:n==="script"&&t.text!==e.text&&(t.text=e.text):(e.checked&&(t.defaultChecked=t.checked=e.checked),t.value!==e.value&&(t.value=e.value)),t.removeAttribute(H.expando),t.removeAttribute("_submit_attached"),t.removeAttribute("_change_attached"))}function E(e,t){if(t.nodeType===1&&!!H.hasData(e)){var n,r,i,s=H._data(e),o=H._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++)H.event.add(t,n,u[n][r])}o.data&&(o.data=H.extend({},o.data))}}function S(e,t){return H.nodeName(e,"table")?e.getElementsByTagName("tbody")[0]||e.appendChild(e.ownerDocument.createElement("tbody")):e}function x(e){var t=dt.split("|"),n=e.createDocumentFragment();if(n.createElement)while(t.length)n.createElement(t.pop());return n}function T(e,t,n){t=t||0;if(H.isFunction(t))return H.grep(e,function(e,r){var i=!!t.call(e,r,e);return i===n});if(t.nodeType)return H.grep(e,function(e,r){return e===t===n});if(typeof t=="string"){var r=H.grep(e,function(e){return e.nodeType===1});if(lt.test(t))return H.filter(t,r,!n);t=H.filter(t,r)}return H.grep(e,function(e,r){return H.inArray(e,t)>=0===n})}function N(e){return!e||!e.parentNode||e.parentNode.nodeType===11}function C(){return!0}function k(){return!1}function L(e,t,n){var r=t+"defer",i=t+"queue",s=t+"mark",o=H._data(e,r);o&&(n==="queue"||!H._data(e,i))&&(n==="mark"||!H._data(e,s))&&setTimeout(function(){!H._data(e,i)&&!H._data(e,s)&&(H.removeData(e,r,!0),o.fire())},0)}function A(e){for(var t in e){if(t==="data"&&H.isEmptyObject(e[t]))continue;if(t!=="toJSON")return!1}return!0}function O(e,n,r){if(r===t&&e.nodeType===1){var i="data-"+n.replace(I,"-$1").toLowerCase();r=e.getAttribute(i);if(typeof r=="string"){try{r=r==="true"?!0:r==="false"?!1:r==="null"?null:H.isNumeric(r)?+r:F.test(r)?H.parseJSON(r):r}catch(s){}H.data(e,n,r)}else r=t}return r}function M(e){var t=B[e]={},n,r;e=e.split(/\s+/);for(n=0,r=e.length;n<r;n++)t[e[n]]=!0;return t}var _=e.document,D=e.navigator,P=e.location,H=function(){function n(){if(!r.isReady){try{_.documentElement.doScroll("left")}catch(e){setTimeout(n,1);return}r.ready()}}var r=function(e,t){return new r.fn.init(e,t,o)},i=e.jQuery,s=e.$,o,u=/^(?:[^#<]*(<[\w\W]+>)[^>]*$|#([\w\-]*)$)/,a=/\S/,f=/^\s+/,l=/\s+$/,c=/^<(\w+)\s*\/?>(?:<\/\1>)?$/,h=/^[\],:{}\s]*$/,p=/\\(?:["\\\/bfnrt]|u[0-9a-fA-F]{4})/g,d=/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,v=/(?:^|:|,)(?:\s*\[)+/g,m=/(webkit)[ \/]([\w.]+)/,g=/(opera)(?:.*version)?[ \/]([\w.]+)/,y=/(msie) ([\w.]+)/,b=/(mozilla)(?:.*? rv:([\w.]+))?/,w=/-([a-z]|[0-9])/ig,E=/^-ms-/,S=function(e,t){return(t+"").toUpperCase()},x=D.userAgent,T,N,C,k=Object.prototype.toString,L=Object.prototype.hasOwnProperty,A=Array.prototype.push,O=Array.prototype.slice,M=String.prototype.trim,P=Array.prototype.indexOf,H={};return r.fn=r.prototype={constructor:r,init:function(e,n,i){var s,o,a,f;if(!e)return this;if(e.nodeType)return this.context=this[0]=e,this.length=1,this;if(e==="body"&&!n&&_.body)return this.context=_,this[0]=_.body,this.selector=e,this.length=1,this;if(typeof e=="string"){e.charAt(0)!=="<"||e.charAt(e.length-1)!==">"||e.length<3?s=u.exec(e):s=[null,e,null];if(s&&(s[1]||!n)){if(s[1])return n=n instanceof r?n[0]:n,f=n?n.ownerDocument||n:_,a=c.exec(e),a?r.isPlainObject(n)?(e=[_.createElement(a[1])],r.fn.attr.call(e,n,!0)):e=[f.createElement(a[1])]:(a=r.buildFragment([s[1]],[f]),e=(a.cacheable?r.clone(a.fragment):a.fragment).childNodes),r.merge(this,e);o=_.getElementById(s[2]);if(o&&o.parentNode){if(o.id!==s[2])return i.find(e);this.length=1,this[0]=o}return this.context=_,this.selector=e,this}return!n||n.jquery?(n||i).find(e):this.constructor(n).find(e)}return r.isFunction(e)?i.ready(e):(e.selector!==t&&(this.selector=e.selector,this.context=e.context),r.makeArray(e,this))},selector:"",jquery:"1.7.2",length:0,size:function(){return this.length},toArray:function(){return O.call(this,0)},get:function(e){return e==null?this.toArray():e<0?this[this.length+e]:this[e]},pushStack:function(e,t,n){var i=this.constructor();return r.isArray(e)?A.apply(i,e):r.merge(i,e),i.prevObject=this,i.context=this.context,t==="find"?i.selector=this.selector+(this.selector?" ":"")+n:t&&(i.selector=this.selector+"."+t+"("+n+")"),i},each:function(e,t){return r.each(this,e,t)},ready:function(e){return r.bindReady(),N.add(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(O.apply(this,arguments),"slice",O.call(arguments).join(","))},map:function(e){return this.pushStack(r.map(this,function(t,n){return e.call(t,n,t)}))},end:function(){return this.prevObject||this.constructor(null)},push:A,sort:[].sort,splice:[].splice},r.fn.init.prototype=r.fn,r.extend=r.fn.extend=function(){var e,n,i,s,o,u,a=arguments[0]||{},f=1,l=arguments.length,c=!1;typeof a=="boolean"&&(c=a,a=arguments[1]||{},f=2),typeof a!="object"&&!r.isFunction(a)&&(a={}),l===f&&(a=this,--f);for(;f<l;f++)if((e=arguments[f])!=null)for(n in e){i=a[n],s=e[n];if(a===s)continue;c&&s&&(r.isPlainObject(s)||(o=r.isArray(s)))?(o?(o=!1,u=i&&r.isArray(i)?i:[]):u=i&&r.isPlainObject(i)?i:{},a[n]=r.extend(c,u,s)):s!==t&&(a[n]=s)}return a},r.extend({noConflict:function(t){return e.$===r&&(e.$=s),t&&e.jQuery===r&&(e.jQuery=i),r},isReady:!1,readyWait:1,holdReady:function(e){e?r.readyWait++:r.ready(!0)},ready:function(e){if(e===!0&&!--r.readyWait||e!==!0&&!r.isReady){if(!_.body)return setTimeout(r.ready,1);r.isReady=!0;if(e!==!0&&--r.readyWait>0)return;N.fireWith(_,[r]),r.fn.trigger&&r(_).trigger("ready").off("ready")}},bindReady:function(){if(!N){N=r.Callbacks("once memory");if(_.readyState==="complete")return setTimeout(r.ready,1);if(_.addEventListener)_.addEventListener("DOMContentLoaded",C,!1),e.addEventListener("load",r.ready,!1);else if(_.attachEvent){_.attachEvent("onreadystatechange",C),e.attachEvent("onload",r.ready);var t=!1;try{t=e.frameElement==null}catch(i){}_.documentElement.doScroll&&t&&n()}}},isFunction:function(e){return r.type(e)==="function"},isArray:Array.isArray||function(e){return r.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):H[k.call(e)]||"object"},isPlainObject:function(e){if(!e||r.type(e)!=="object"||e.nodeType||r.isWindow(e))return!1;try{if(e.constructor&&!L.call(e,"constructor")&&!L.call(e.constructor.prototype,"isPrototypeOf"))return!1}catch(n){return!1}var i;for(i in e);return i===t||L.call(e,i)},isEmptyObject:function(e){for(var t in e)return!1;return!0},error:function(e){throw new Error(e)},parseJSON:function(t){if(typeof t!="string"||!t)return null;t=r.trim(t);if(e.JSON&&e.JSON.parse)return e.JSON.parse(t);if(h.test(t.replace(p,"@").replace(d,"]").replace(v,"")))return(new Function("return "+t))();r.error("Invalid JSON: "+t)},parseXML:function(n){if(typeof n!="string"||!n)return null;var i,s;try{e.DOMParser?(s=new DOMParser,i=s.parseFromString(n,"text/xml")):(i=new ActiveXObject("Microsoft.XMLDOM"),i.async="false",i.loadXML(n))}catch(o){i=t}return(!i||!i.documentElement||i.getElementsByTagName("parsererror").length)&&r.error("Invalid XML: "+n),i},noop:function(){},globalEval:function(t){t&&a.test(t)&&(e.execScript||function(t){e.eval.call(e,t)})(t)},camelCase:function(e){return e.replace(E,"ms-").replace(w,S)},nodeName:function(e,t){return e.nodeName&&e.nodeName.toUpperCase()===t.toUpperCase()},each:function(e,n,i){var s,o=0,u=e.length,a=u===t||r.isFunction(e);if(i){if(a){for(s in e)if(n.apply(e[s],i)===!1)break}else for(;o<u;)if(n.apply(e[o++],i)===!1)break}else if(a){for(s in e)if(n.call(e[s],s,e[s])===!1)break}else for(;o<u;)if(n.call(e[o],o,e[o++])===!1)break;return e},trim:M?function(e){return e==null?"":M.call(e)}:function(e){return e==null?"":(e+"").replace(f,"").replace(l,"")},makeArray:function(e,t){var n=t||[];if(e!=null){var i=r.type(e);e.length==null||i==="string"||i==="function"||i==="regexp"||r.isWindow(e)?A.call(n,e):r.merge(n,e)}return n},inArray:function(e,t,n){var r;if(t){if(P)return P.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=e.length,i=0;if(typeof n.length=="number")for(var s=n.length;i<s;i++)e[r++]=n[i];else while(n[i]!==t)e[r++]=n[i++];return e.length=r,e},grep:function(e,t,n){var r=[],i;n=!!n;for(var s=0,o=e.length;s<o;s++)i=!!t(e[s],s),n!==i&&r.push(e[s]);return r},map:function(e,n,i){var s,o,u=[],a=0,f=e.length,l=e instanceof r||f!==t&&typeof f=="number"&&(f>0&&e[0]&&e[f-1]||f===0||r.isArray(e));if(l)for(;a<f;a++)s=n(e[a],a,i),s!=null&&(u[u.length]=s);else for(o in e)s=n(e[o],o,i),s!=null&&(u[u.length]=s);return u.concat.apply([],u)},guid:1,proxy:function(e,n){if(typeof n=="string"){var i=e[n];n=e,e=i}if(!r.isFunction(e))return t;var s=O.call(arguments,2),o=function(){return e.apply(n,s.concat(O.call(arguments)))};return o.guid=e.guid=e.guid||o.guid||r.guid++,o},access:function(e,n,i,s,o,u,a){var f,l=i==null,c=0,h=e.length;if(i&&typeof i=="object"){for(c in i)r.access(e,n,c,i[c],1,u,s);o=1}else if(s!==t){f=a===t&&r.isFunction(s),l&&(f?(f=n,n=function(e,t,n){return f.call(r(e),n)}):(n.call(e,s),n=null));if(n)for(;c<h;c++)n(e[c],i,f?s.call(e[c],c,n(e[c],i)):s,a);o=1}return o?e:l?n.call(e):h?n(e[0],i):u},now:function(){return(new Date).getTime()},uaMatch:function(e){e=e.toLowerCase();var t=m.exec(e)||g.exec(e)||y.exec(e)||e.indexOf("compatible")<0&&b.exec(e)||[];return{browser:t[1]||"",version:t[2]||"0"}},sub:function(){function e(t,n){return new e.fn.init(t,n)}r.extend(!0,e,this),e.superclass=this,e.fn=e.prototype=this(),e.fn.constructor=e,e.sub=this.sub,e.fn.init=function(n,i){return i&&i instanceof r&&!(i instanceof e)&&(i=e(i)),r.fn.init.call(this,n,i,t)},e.fn.init.prototype=e.fn;var t=e(_);return e},browser:{}}),r.each("Boolean Number String Function Array Date RegExp Object".split(" "),function(e,t){H["[object "+t+"]"]=t.toLowerCase()}),T=r.uaMatch(x),T.browser&&(r.browser[T.browser]=!0,r.browser.version=T.version),r.browser.webkit&&(r.browser.safari=!0),a.test(" ")&&(f=/^[\s\xA0]+/,l=/[\s\xA0]+$/),o=r(_),_.addEventListener?C=function(){_.removeEventListener("DOMContentLoaded",C,!1),r.ready()}:_.attachEvent&&(C=function(){_.readyState==="complete"&&(_.detachEvent("onreadystatechange",C),r.ready())}),r}(),B={};H.Callbacks=function(e){e=e?B[e]||M(e):{};var n=[],r=[],i,s,o,u,a,f,l=function(t){var r,i,s,o,u;for(r=0,i=t.length;r<i;r++)s=t[r],o=H.type(s),o==="array"?l(s):o==="function"&&(!e.unique||!h.has(s))&&n.push(s)},c=function(t,l){l=l||[],i=!e.memory||[t,l],s=!0,o=!0,f=u||0,u=0,a=n.length;for(;n&&f<a;f++)if(n[f].apply(t,l)===!1&&e.stopOnFalse){i=!0;break}o=!1,n&&(e.once?i===!0?h.disable():n=[]:r&&r.length&&(i=r.shift(),h.fireWith(i[0],i[1])))},h={add:function(){if(n){var e=n.length;l(arguments),o?a=n.length:i&&i!==!0&&(u=e,c(i[0],i[1]))}return this},remove:function(){if(n){var t=arguments,r=0,i=t.length;for(;r<i;r++)for(var s=0;s<n.length;s++)if(t[r]===n[s]){o&&s<=a&&(a--,s<=f&&f--),n.splice(s--,1);if(e.unique)break}}return this},has:function(e){if(n){var t=0,r=n.length;for(;t<r;t++)if(e===n[t])return!0}return!1},empty:function(){return n=[],this},disable:function(){return n=r=i=t,this},disabled:function(){return!n},lock:function(){return r=t,(!i||i===!0)&&h.disable(),this},locked:function(){return!r},fireWith:function(t,n){return r&&(o?e.once||r.push([t,n]):(!e.once||!i)&&c(t,n)),this},fire:function(){return h.fireWith(this,arguments),this},fired:function(){return!!s}};return h};var j=[].slice;H.extend({Deferred:function(e){var t=H.Callbacks("once memory"),n=H.Callbacks("once memory"),r=H.Callbacks("memory"),i="pending",s={resolve:t,reject:n,notify:r},o={done:t.add,fail:n.add,progress:r.add,state:function(){return i},isResolved:t.fired,isRejected:n.fired,then:function(e,t,n){return u.done(e).fail(t).progress(n),this},always:function(){return u.done.apply(u,arguments).fail.apply(u,arguments),this},pipe:function(e,t,n){return H.Deferred(function(r){H.each({done:[e,"resolve"],fail:[t,"reject"],progress:[n,"notify"]},function(e,t){var n=t[0],i=t[1],s;H.isFunction(n)?u[e](function(){s=n.apply(this,arguments),s&&H.isFunction(s.promise)?s.promise().then(r.resolve,r.reject,r.notify):r[i+"With"](this===u?r:this,[s])}):u[e](r[i])})}).promise()},promise:function(e){if(e==null)e=o;else for(var t in o)e[t]=o[t];return e}},u=o.promise({}),a;for(a in s)u[a]=s[a].fire,u[a+"With"]=s[a].fireWith;return u.done(function(){i="resolved"},n.disable,r.lock).fail(function(){i="rejected"},t.disable,r.lock),e&&e.call(u,u),u},when:function(e){function t(e){return function(t){o[e]=arguments.length>1?j.call(arguments,0):t,f.notifyWith(l,o)}}function n(e){return function(t){r[e]=arguments.length>1?j.call(arguments,0):t,--u||f.resolveWith(f,r)}}var r=j.call(arguments,0),i=0,s=r.length,o=Array(s),u=s,a=s,f=s<=1&&e&&H.isFunction(e.promise)?e:H.Deferred(),l=f.promise();if(s>1){for(;i<s;i++)r[i]&&r[i].promise&&H.isFunction(r[i].promise)?r[i].promise().then(n(i),f.reject,t(i)):--u;u||f.resolveWith(f,r)}else f!==e&&f.resolveWith(f,s?[e]:[]);return l}}),H.support=function(){var t,n,r,i,s,o,u,a,f,l,c,h,p=_.createElement("div"),d=_.documentElement;p.setAttribute("className","t"),p.innerHTML="   <link/><table></table><a href='/a' style='top:1px;float:left;opacity:.55;'>a</a><input type='checkbox'/>",n=p.getElementsByTagName("*"),r=p.getElementsByTagName("a")[0];if(!n||!n.length||!r)return{};i=_.createElement("select"),s=i.appendChild(_.createElement("option")),o=p.getElementsByTagName("input")[0],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.55/.test(r.style.opacity),cssFloat:!!r.style.cssFloat,checkOn:o.value==="on",optSelected:s.selected,getSetAttribute:p.className!=="t",enctype:!!_.createElement("form").enctype,html5Clone:_.createElement("nav").cloneNode(!0).outerHTML!=="<:nav></:nav>",submitBubbles:!0,changeBubbles:!0,focusinBubbles:!1,deleteExpando:!0,noCloneEvent:!0,inlineBlockNeedsLayout:!1,shrinkWrapBlocks:!1,reliableMarginRight:!0,pixelMargin:!0},H.boxModel=t.boxModel=_.compatMode==="CSS1Compat",o.checked=!0,t.noCloneChecked=o.cloneNode(!0).checked,i.disabled=!0,t.optDisabled=!s.disabled;try{delete p.test}catch(v){t.deleteExpando=!1}!p.addEventListener&&p.attachEvent&&p.fireEvent&&(p.attachEvent("onclick",function(){t.noCloneEvent=!1}),p.cloneNode(!0).fireEvent("onclick")),o=_.createElement("input"),o.value="t",o.setAttribute("type","radio"),t.radioValue=o.value==="t",o.setAttribute("checked","checked"),o.setAttribute("name","t"),p.appendChild(o),u=_.createDocumentFragment(),u.appendChild(p.lastChild),t.checkClone=u.cloneNode(!0).cloneNode(!0).lastChild.checked,t.appendChecked=o.checked,u.removeChild(o),u.appendChild(p);if(p.attachEvent)for(c in{submit:1,change:1,focusin:1})l="on"+c,h=l in p,h||(p.setAttribute(l,"return;"),h=typeof p[l]=="function"),t[c+"Bubbles"]=h;return u.removeChild(p),u=i=s=p=o=null,H(function(){var n,r,i,s,o,u,f,l,c,d,v,m,g,y=_.getElementsByTagName("body")[0];!y||(l=1,g="padding:0;margin:0;border:",v="position:absolute;top:0;left:0;width:1px;height:1px;",m=g+"0;visibility:hidden;",c="style='"+v+g+"5px solid #000;",d="<div "+c+"display:block;'><div style='"+g+"0;display:block;overflow:hidden;'></div></div>"+"<table "+c+"' cellpadding='0' cellspacing='0'>"+"<tr><td></td></tr></table>",n=_.createElement("div"),n.style.cssText=m+"width:0;height:0;position:static;top:0;margin-top:"+l+"px",y.insertBefore(n,y.firstChild),p=_.createElement("div"),n.appendChild(p),p.innerHTML="<table><tr><td style='"+g+"0;display:none'></td><td>t</td></tr></table>",a=p.getElementsByTagName("td"),h=a[0].offsetHeight===0,a[0].style.display="",a[1].style.display="none",t.reliableHiddenOffsets=h&&a[0].offsetHeight===0,e.getComputedStyle&&(p.innerHTML="",f=_.createElement("div"),f.style.width="0",f.style.marginRight="0",p.style.width="2px",p.appendChild(f),t.reliableMarginRight=(parseInt((e.getComputedStyle(f,null)||{marginRight:0}).marginRight,10)||0)===0),typeof p.style.zoom!="undefined"&&(p.innerHTML="",p.style.width=p.style.padding="1px",p.style.border=0,p.style.overflow="hidden",p.style.display="inline",p.style.zoom=1,t.inlineBlockNeedsLayout=p.offsetWidth===3,p.style.display="block",p.style.overflow="visible",p.innerHTML="<div style='width:5px;'></div>",t.shrinkWrapBlocks=p.offsetWidth!==3),p.style.cssText=v+m,p.innerHTML=d,r=p.firstChild,i=r.firstChild,o=r.nextSibling.firstChild.firstChild,u={doesNotAddBorder:i.offsetTop!==5,doesAddBorderForTableAndCells:o.offsetTop===5},i.style.position="fixed",i.style.top="20px",u.fixedPosition=i.offsetTop===20||i.offsetTop===15,i.style.position=i.style.top="",r.style.overflow="hidden",r.style.position="relative",u.subtractsBorderForOverflowNotVisible=i.offsetTop===-5,u.doesNotIncludeMarginInBodyOffset=y.offsetTop!==l,e.getComputedStyle&&(p.style.marginTop="1%",t.pixelMargin=(e.getComputedStyle(p,null)||{marginTop:0}).marginTop!=="1%"),typeof n.style.zoom!="undefined"&&(n.style.zoom=1),y.removeChild(n),f=p=n=null,H.extend(t,u))}),t}();var F=/^(?:\{.*\}|\[.*\])$/,I=/([A-Z])/g;H.extend({cache:{},uuid:0,expando:"jQuery"+(H.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?H.cache[e[H.expando]]:e[H.expando],!!e&&!A(e)},data:function(e,n,r,i){if(!!H.acceptData(e)){var s,o,u,a=H.expando,f=typeof n=="string",l=e.nodeType,c=l?H.cache:e,h=l?e[a]:e[a]&&a,p=n==="events";if((!h||!c[h]||!p&&!i&&!c[h].data)&&f&&r===t)return;h||(l?e[a]=h=++H.uuid:h=a),c[h]||(c[h]={},l||(c[h].toJSON=H.noop));if(typeof n=="object"||typeof n=="function")i?c[h]=H.extend(c[h],n):c[h].data=H.extend(c[h].data,n);return s=o=c[h],i||(o.data||(o.data={}),o=o.data),r!==t&&(o[H.camelCase(n)]=r),p&&!o[n]?s.events:(f?(u=o[n],u==null&&(u=o[H.camelCase(n)])):u=o,u)}},removeData:function(e,t,n){if(!!H.acceptData(e)){var r,i,s,o=H.expando,u=e.nodeType,a=u?H.cache:e,f=u?e[o]:o;if(!a[f])return;if(t){r=n?a[f]:a[f].data;if(r){H.isArray(t)||(t in r?t=[t]:(t=H.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?A:H.isEmptyObject)(r))return}}if(!n){delete a[f].data;if(!A(a[f]))return}H.support.deleteExpando||!a.setInterval?delete a[f]:a[f]=null,u&&(H.support.deleteExpando?delete e[o]:e.removeAttribute?e.removeAttribute(o):e[o]=null)}},_data:function(e,t,n){return H.data(e,t,n,!0)},acceptData:function(e){if(e.nodeName){var t=H.noData[e.nodeName.toLowerCase()];if(t)return t!==!0&&e.getAttribute("classid")===t}return!0}}),H.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=H.data(a);if(a.nodeType===1&&!H._data(a,"parsedAttrs")){s=a.attributes;for(u=s.length;f<u;f++)o=s[f].name,o.indexOf("data-")===0&&(o=H.camelCase(o.substring(5)),O(a,o,l[o]));H._data(a,"parsedAttrs",!0)}}return l}return typeof e=="object"?this.each(function(){H.data(this,e)}):(r=e.split(".",2),r[1]=r[1]?"."+r[1]:"",i=r[1]+"!",H.access(this,function(n){if(n===t)return l=this.triggerHandler("getData"+i,[r[0]]),l===t&&a&&(l=H.data(a,e),l=O(a,e,l)),l===t&&r[1]?this.data(r[0]):l;r[1]=n,this.each(function(){var t=H(this);t.triggerHandler("setData"+i,r),H.data(this,e,n),t.triggerHandler("changeData"+i,r)})},null,n,arguments.length>1,null,!1))},removeData:function(e){return this.each(function(){H.removeData(this,e)})}}),H.extend({_mark:function(e,t){e&&(t=(t||"fx")+"mark",H._data(e,t,(H._data(e,t)||0)+1))},_unmark:function(e,t,n){e!==!0&&(n=t,t=e,e=!1);if(t){n=n||"fx";var r=n+"mark",i=e?0:(H._data(t,r)||1)-1;i?H._data(t,r,i):(H.removeData(t,r,!0),L(t,n,"mark"))}},queue:function(e,t,n){var r;if(e)return t=(t||"fx")+"queue",r=H._data(e,t),n&&(!r||H.isArray(n)?r=H._data(e,t,H.makeArray(n)):r.push(n)),r||[]},dequeue:function(e,t){t=t||"fx";var n=H.queue(e,t),r=n.shift(),i={};r==="inprogress"&&(r=n.shift()),r&&(t==="fx"&&n.unshift("inprogress"),H._data(e,t+".run",i),r.call(e,function(){H.dequeue(e,t)},i)),n.length||(H.removeData(e,t+"queue "+t+".run",!0),L(e,t,"queue"))}}),H.fn.extend({queue:function(e,n){var r=2;return typeof e!="string"&&(n=e,e="fx",r--),arguments.length<r?H.queue(this[0],e):n===t?this:this.each(function(){var t=H.queue(this,e,n);e==="fx"&&t[0]!=="inprogress"&&H.dequeue(this,e)})},dequeue:function(e){return this.each(function(){H.dequeue(this,e)})},delay:function(e,t){return e=H.fx?H.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){function r(){--u||i.resolveWith(s,[s])}typeof e!="string"&&(n=e,e=t),e=e||"fx";var i=H.Deferred(),s=this,o=s.length,u=1,a=e+"defer",f=e+"queue",l=e+"mark",c;while(o--)if(c=H.data(s[o],a,t,!0)||(H.data(s[o],f,t,!0)||H.data(s[o],l,t,!0))&&H.data(s[o],a,H.Callbacks("once memory"),!0))u++,c.add(r);return r(),i.promise(n)}});var q=/[\n\t\r]/g,R=/\s+/,U=/\r/g,z=/^(?:button|input)$/i,W=/^(?:button|input|object|select|textarea)$/i,X=/^a(?:rea)?$/i,V=/^(?:autofocus|autoplay|async|checked|controls|defer|disabled|hidden|loop|multiple|open|readonly|required|scoped|selected)$/i,$=H.support.getSetAttribute,J,K,Q;H.fn.extend({attr:function(e,t){return H.access(this,H.attr,e,t,arguments.length>1)},removeAttr:function(e){return this.each(function(){H.removeAttr(this,e)})},prop:function(e,t){return H.access(this,H.prop,e,t,arguments.length>1)},removeProp:function(e){return e=H.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(H.isFunction(e))return this.each(function(t){H(this).addClass(e.call(this,t,this.className))});if(e&&typeof e=="string"){t=e.split(R);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]+" ")||(s+=t[o]+" ");i.className=H.trim(s)}}}return this},removeClass:function(e){var n,r,i,s,o,u,a;if(H.isFunction(e))return this.each(function(t){H(this).removeClass(e.call(this,t,this.className))});if(e&&typeof e=="string"||e===t){n=(e||"").split(R);for(r=0,i=this.length;r<i;r++){s=this[r];if(s.nodeType===1&&s.className)if(e){o=(" "+s.className+" ").replace(q," ");for(u=0,a=n.length;u<a;u++)o=o.replace(" "+n[u]+" "," ");s.className=H.trim(o)}else s.className=""}}return this},toggleClass:function(e,t){var n=typeof e,r=typeof t=="boolean";return H.isFunction(e)?this.each(function(n){H(this).toggleClass(e.call(this,n,this.className,t),t)}):this.each(function(){if(n==="string"){var i,s=0,o=H(this),u=t,a=e.split(R);while(i=a[s++])u=r?u:!o.hasClass(i),o[u?"addClass":"removeClass"](i)}else if(n==="undefined"||n==="boolean")this.className&&H._data(this,"__className__",this.className),this.className=this.className||e===!1?"":H._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)>-1)return!0;return!1},val:function(e){var n,r,i,s=this[0];if(!!arguments.length)return i=H.isFunction(e),this.each(function(r){var s=H(this),o;if(this.nodeType===1){i?o=e.call(this,r,s.val()):o=e,o==null?o="":typeof o=="number"?o+="":H.isArray(o)&&(o=H.map(o,function(e){return e==null?"":e+""})),n=H.valHooks[this.type]||H.valHooks[this.nodeName.toLowerCase()];if(!n||!("set"in n)||n.set(this,o,"value")===t)this.value=o}});if(s)return n=H.valHooks[s.type]||H.valHooks[s.nodeName.toLowerCase()],n&&"get"in n&&(r=n.get(s,"value"))!==t?r:(r=s.value,typeof r=="string"?r.replace(U,""):r==null?"":r)}}),H.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,i,s=e.selectedIndex,o=[],u=e.options,a=e.type==="select-one";if(s<0)return null;n=a?s:0,r=a?s+1:u.length;for(;n<r;n++){i=u[n];if(i.selected&&(H.support.optDisabled?!i.disabled:i.getAttribute("disabled")===null)&&(!i.parentNode.disabled||!H.nodeName(i.parentNode,"optgroup"))){t=H(i).val();if(a)return t;o.push(t)}}return a&&!o.length&&u.length?H(u[s]).val():o},set:function(e,t){var n=H.makeArray(t);return H(e).find("option").each(function(){this.selected=H.inArray(H(this).val(),n)>=0}),n.length||(e.selectedIndex=-1),n}}},attrFn:{val:!0,css:!0,html:!0,text:!0,data:!0,width:!0,height:!0,offset:!0},attr:function(e,n,r,i){var s,o,u,a=e.nodeType;if(!!e&&a!==3&&a!==8&&a!==2){if(i&&n in H.attrFn)return H(e)[n](r);if(typeof e.getAttribute=="undefined")return H.prop(e,n,r);u=a!==1||!H.isXMLDoc(e),u&&(n=n.toLowerCase(),o=H.attrHooks[n]||(V.test(n)?K:J));if(r!==t){if(r===null){H.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,u=0;if(t&&e.nodeType===1){r=t.toLowerCase().split(R),s=r.length;for(;u<s;u++)i=r[u],i&&(n=H.propFix[i]||i,o=V.test(i),o||H.attr(e,i,""),e.removeAttribute($?i:n),o&&n in e&&(e[n]=!1))}},attrHooks:{type:{set:function(e,t){if(z.test(e.nodeName)&&e.parentNode)H.error("type property can't be changed");else if(!H.support.radioValue&&t==="radio"&&H.nodeName(e,"input")){var n=e.value;return e.setAttribute("type",t),n&&(e.value=n),t}}},value:{get:function(e,t){return J&&H.nodeName(e,"button")?J.get(e,t):t in e?e.value:null},set:function(e,t,n){if(J&&H.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 o=u!==1||!H.isXMLDoc(e),o&&(n=H.propFix[n]||n,s=H.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):W.test(e.nodeName)||X.test(e.nodeName)&&e.href?0:t}}}}),H.attrHooks.tabindex=H.propHooks.tabIndex,K={get:function(e,n){var r,i=H.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?H.removeAttr(e,n):(r=H.propFix[n]||n,r in e&&(e[r]=!0),e.setAttribute(n,n.toLowerCase())),n}},$||(Q={name:!0,id:!0,coords:!0},J=H.valHooks.button={get:function(e,n){var r;return r=e.getAttributeNode(n),r&&(Q[n]?r.nodeValue!=="":r.specified)?r.nodeValue:t},set:function(e,t,n){var r=e.getAttributeNode(n);return r||(r=_.createAttribute(n),e.setAttributeNode(r)),r.nodeValue=t+""}},H.attrHooks.tabindex.set=J.set,H.each(["width","height"],function(e,t){H.attrHooks[t]=H.extend(H.attrHooks[t],{set:function(e,n){if(n==="")return e.setAttribute(t,"auto"),n}})}),H.attrHooks.contenteditable={get:J.get,set:function(e,t,n){t===""&&(t="false"),J.set(e,t,n)}}),H.support.hrefNormalized||H.each(["href","src","width","height"],function(e,n){H.attrHooks[n]=H.extend(H.attrHooks[n],{get:function(e){var r=e.getAttribute(n,2);return r===null?t:r}})}),H.support.style||(H.attrHooks.style={get:function(e){return e.style.cssText.toLowerCase()||t},set:function(e,t){return e.style.cssText=""+t}}),H.support.optSelected||(H.propHooks.selected=H.extend(H.propHooks.selected,{get:function(e){var t=e.parentNode;return t&&(t.selectedIndex,t.parentNode&&t.parentNode.selectedIndex),null}})),H.support.enctype||(H.propFix.enctype="encoding"),H.support.checkOn||H.each(["radio","checkbox"],function(){H.valHooks[this]={get:function(e){return e.getAttribute("value")===null?"on":e.value}}}),H.each(["radio","checkbox"],function(){H.valHooks[this]=H.extend(H.valHooks[this],{set:function(e,t){if(H.isArray(t))return e.checked=H.inArray(H(e).val(),t)>=0}})});var G=/^(?:textarea|input|select)$/i,Y=/^([^\.]*)?(?:\.(.+))?$/,Z=/(?:^|\s)hover(\.\S+)?\b/,et=/^key/,tt=/^(?:mouse|contextmenu)|click/,nt=/^(?:focusinfocus|focusoutblur)$/,rt=/^(\w*)(?:#([\w\-]+))?(?:\.([\w\-]+))?$/,it=function(e){var t=rt.exec(e);return t&&(t[1]=(t[1]||"").toLowerCase(),t[3]=t[3]&&new RegExp("(?:^|\\s)"+t[3]+"(?:\\s|$)")),t},st=function(e,t){var n=e.attributes||{};return(!t[1]||e.nodeName.toLowerCase()===t[1])&&(!t[2]||(n.id||{}).value===t[2])&&(!t[3]||t[3].test((n["class"]||{}).value))},ot=function(e){return H.event.special.hover?e:e.replace(Z,"mouseenter$1 mouseleave$1")};H.event={add:function(e,n,r,i,s){var o,u,a,f,l,c,h,p,d,v,m,g;if(!(e.nodeType===3||e.nodeType===8||!n||!r||!(o=H._data(e)))){r.handler&&(d=r,r=d.handler,s=d.selector),r.guid||(r.guid=H.guid++),a=o.events,a||(o.events=a={}),u=o.handle,u||(o.handle=u=function(e){return typeof H=="undefined"||!!e&&H.event.triggered===e.type?t:H.event.dispatch.apply(u.elem,arguments)},u.elem=e),n=H.trim(ot(n)).split(" ");for(f=0;f<n.length;f++){l=Y.exec(n[f])||[],c=l[1],h=(l[2]||"").split(".").sort(),g=H.event.special[c]||{},c=(s?g.delegateType:g.bindType)||c,g=H.event.special[c]||{},p=H.extend({type:c,origType:l[1],data:i,handler:r,guid:r.guid,selector:s,quick:s&&it(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),H.event.global[c]=!0}e=null}},global:{},remove:function(e,t,n,r,i){var s=H.hasData(e)&&H._data(e),o,u,a,f,l,c,h,p,d,v,m,g;if(!!s&&!!(p=s.events)){t=H.trim(ot(t||"")).split(" ");for(o=0;o<t.length;o++){u=Y.exec(t[o])||[],a=f=u[1],l=u[2];if(!a){for(a in p)H.event.remove(e,a+t[o],n,r,!0);continue}d=H.event.special[a]||{},a=(r?d.delegateType:d.bindType)||a,m=p[a]||[],c=m.length,l=l?new RegExp("(^|\\.)"+l.split(".").sort().join("\\.(?:.*\\.)?")+"(\\.|$)"):null;for(h=0;h<m.length;h++)g=m[h],(i||f===g.origType)&&(!n||n.guid===g.guid)&&(!l||l.test(g.namespace))&&(!r||r===g.selector||r==="**"&&g.selector)&&(m.splice(h--,1),g.selector&&m.delegateCount--,d.remove&&d.remove.call(e,g));m.length===0&&c!==m.length&&((!d.teardown||d.teardown.call(e,l)===!1)&&H.removeEvent(e,a,s.handle),delete p[a])}H.isEmptyObject(p)&&(v=s.handle,v&&(v.elem=null),H.removeData(e,["events","handle"],!0))}},customEvent:{getData:!0,setData:!0,changeData:!0},trigger:function(n,r,i,s){if(!i||i.nodeType!==3&&i.nodeType!==8){var o=n.type||n,u=[],a,f,l,c,h,p,d,v,m,g;if(nt.test(o+H.event.triggered))return;o.indexOf("!")>=0&&(o=o.slice(0,-1),f=!0),o.indexOf(".")>=0&&(u=o.split("."),o=u.shift(),u.sort());if((!i||H.event.customEvent[o])&&!H.event.global[o])return;n=typeof n=="object"?n[H.expando]?n:new H.Event(o,n):new H.Event(o),n.type=o,n.isTrigger=!0,n.exclusive=f,n.namespace=u.join("."),n.namespace_re=n.namespace?new RegExp("(^|\\.)"+u.join("\\.(?:.*\\.)?")+"(\\.|$)"):null,p=o.indexOf(":")<0?"on"+o:"";if(!i){a=H.cache;for(l in a)a[l].events&&a[l].events[o]&&H.event.trigger(n,r,a[l].handle.elem,!0);return}n.result=t,n.target||(n.target=i),r=r!=null?H.makeArray(r):[],r.unshift(n),d=H.event.special[o]||{};if(d.trigger&&d.trigger.apply(i,r)===!1)return;m=[[i,d.bindType||o]];if(!s&&!d.noBubble&&!H.isWindow(i)){g=d.delegateType||o,c=nt.test(g+o)?i:i.parentNode,h=null;for(;c;c=c.parentNode)m.push([c,g]),h=c;h&&h===i.ownerDocument&&m.push([h.defaultView||h.parentWindow||e,g])}for(l=0;l<m.length&&!n.isPropagationStopped();l++)c=m[l][0],n.type=m[l][1],v=(H._data(c,"events")||{})[n.type]&&H._data(c,"handle"),v&&v.apply(c,r),v=p&&c[p],v&&H.acceptData(c)&&v.apply(c,r)===!1&&n.preventDefault();return n.type=o,!s&&!n.isDefaultPrevented()&&(!d._default||d._default.apply(i.ownerDocument,r)===!1)&&(o!=="click"||!H.nodeName(i,"a"))&&H.acceptData(i)&&p&&i[o]&&(o!=="focus"&&o!=="blur"||n.target.offsetWidth!==0)&&!H.isWindow(i)&&(h=i[p],h&&(i[p]=null),H.event.triggered=o,i[o](),H.event.triggered=t,h&&(i[p]=h)),n.result}},dispatch:function(n){n=H.event.fix(n||e.event);var r=(H._data(this,"events")||{})[n.type]||[],i=r.delegateCount,s=[].slice.call(arguments,0),o=!n.exclusive&&!n.namespace,u=H.event.special[n.type]||{},a=[],f,l,c,h,p,d,v,m,g,y,b;s[0]=n,n.delegateTarget=this;if(!u.preDispatch||u.preDispatch.call(this,n)!==!1){if(i&&(!n.button||n.type!=="click")){h=H(this),h.context=this.ownerDocument||this;for(c=n.target;c!=this;c=c.parentNode||this)if(c.disabled!==!0){d={},m=[],h[0]=c;for(f=0;f<i;f++)g=r[f],y=g.selector,d[y]===t&&(d[y]=g.quick?st(c,g.quick):h.is(y)),d[y]&&m.push(g);m.length&&a.push({elem:c,matches:m})}}r.length>i&&a.push({elem:this,matches:r.slice(i)});for(f=0;f<a.length&&!n.isPropagationStopped();f++){v=a[f],n.currentTarget=v.elem;for(l=0;l<v.matches.length&&!n.isImmediatePropagationStopped();l++){g=v.matches[l];if(o||!n.namespace&&!g.namespace||n.namespace_re&&n.namespace_re.test(g.namespace))n.data=g.data,n.handleObj=g,p=((H.event.special[g.origType]||{}).handle||g.handler).apply(v.elem,s),p!==t&&(n.result=p,p===!1&&(n.preventDefault(),n.stopPropagation()))}}return u.postDispatch&&u.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,i,s,o=n.button,u=n.fromElement;return e.pageX==null&&n.clientX!=null&&(r=e.target.ownerDocument||_,i=r.documentElement,s=r.body,e.pageX=n.clientX+(i&&i.scrollLeft||s&&s.scrollLeft||0)-(i&&i.clientLeft||s&&s.clientLeft||0),e.pageY=n.clientY+(i&&i.scrollTop||s&&s.scrollTop||0)-(i&&i.clientTop||s&&s.clientTop||0)),!e.relatedTarget&&u&&(e.relatedTarget=u===e.target?n.toElement:u),!e.which&&o!==t&&(e.which=o&1?1:o&2?3:o&4?2:0),e}},fix:function(e){if(e[H.expando])return e;var n,r,i=e,s=H.event.fixHooks[e.type]||{},o=s.props?this.props.concat(s.props):this.props;e=H.Event(i);for(n=o.length;n;)r=o[--n],e[r]=i[r];return e.target||(e.target=i.srcElement||_),e.target.nodeType===3&&(e.target=e.target.parentNode),e.metaKey===t&&(e.metaKey=e.ctrlKey),s.filter?s.filter(e,i):e},special:{ready:{setup:H.bindReady},load:{noBubble:!0},focus:{delegateType:"focusin"},blur:{delegateType:"focusout"},beforeunload:{setup:function(e,t,n){H.isWindow(this)&&(this.onbeforeunload=n)},teardown:function(e,t){this.onbeforeunload===t&&(this.onbeforeunload=null)}}},simulate:function(e,t,n,r){var i=H.extend(new H.Event,n,{type:e,isSimulated:!0,originalEvent:{}});r?H.event.trigger(i,null,t):H.event.dispatch.call(t,i),i.isDefaultPrevented()&&n.preventDefault()}},H.event.handle=H.event.dispatch,H.removeEvent=_.removeEventListener?function(e,t,n){e.removeEventListener&&e.removeEventListener(t,n,!1)}:function(e,t,n){e.detachEvent&&e.detachEvent("on"+t,n)},H.Event=function(e,t){if(!(this instanceof H.Event))return new H.Event(e,t);e&&e.type?(this.originalEvent=e,this.type=e.type,this.isDefaultPrevented=e.defaultPrevented||e.returnValue===!1||e.getPreventDefault&&e.getPreventDefault()?C:k):this.type=e,t&&H.extend(this,t),this.timeStamp=e&&e.timeStamp||H.now(),this[H.expando]=!0},H.Event.prototype={preventDefault:function(){this.isDefaultPrevented=C;var e=this.originalEvent;!e||(e.preventDefault?e.preventDefault():e.returnValue=!1)},stopPropagation:function(){this.isPropagationStopped=C;var e=this.originalEvent;!e||(e.stopPropagation&&e.stopPropagation(),e.cancelBubble=!0)},stopImmediatePropagation:function(){this.isImmediatePropagationStopped=C,this.stopPropagation()},isDefaultPrevented:k,isPropagationStopped:k,isImmediatePropagationStopped:k},H.each({mouseenter:"mouseover",mouseleave:"mouseout"},function(e,t){H.event.special[e]={delegateType:t,bindType:t,handle:function(e){var n=this,r=e.relatedTarget,i=e.handleObj,s=i.selector,o;if(!r||r!==n&&!H.contains(n,r))e.type=i.origType,o=i.handler.apply(this,arguments),e.type=t;return o}}}),H.support.submitBubbles||(H.event.special.submit={setup:function(){if(H.nodeName(this,"form"))return!1;H.event.add(this,"click._submit keypress._submit",function(e){var n=e.target,r=H.nodeName(n,"input")||H.nodeName(n,"button")?n.form:t;r&&!r._submit_attached&&(H.event.add(r,"submit._submit",function(e){e._submit_bubble=!0}),r._submit_attached=!0)})},postDispatch:function(e){e._submit_bubble&&(delete e._submit_bubble,this.parentNode&&!e.isTrigger&&H.event.simulate("submit",this.parentNode,e,!0))},teardown:function(){if(H.nodeName(this,"form"))return!1;H.event.remove(this,"._submit")}}),H.support.changeBubbles||(H.event.special.change={setup:function(){if(G.test(this.nodeName)){if(this.type==="checkbox"||this.type==="radio")H.event.add(this,"propertychange._change",function(e){e.originalEvent.propertyName==="checked"&&(this._just_changed=!0)}),H.event.add(this,"click._change",function(e){this._just_changed&&!e.isTrigger&&(this._just_changed=!1,H.event.simulate("change",this,e,!0))});return!1}H.event.add(this,"beforeactivate._change",function(e){var t=e.target;G.test(t.nodeName)&&!t._change_attached&&(H.event.add(t,"change._change",function(e){this.parentNode&&!e.isSimulated&&!e.isTrigger&&H.event.simulate("change",this.parentNode,e,!0)}),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 H.event.remove(this,"._change"),G.test(this.nodeName)}}),H.support.focusinBubbles||H.each({focus:"focusin",blur:"focusout"},function(e,t){var n=0,r=function(e){H.event.simulate(t,e.target,H.event.fix(e),!0)};H.event.special[t]={setup:function(){n++===0&&_.addEventListener(e,r,!0)},teardown:function(){--n===0&&_.removeEventListener(e,r,!0)}}}),H.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=k;else if(!i)return this;return s===1&&(o=i,i=function(e){return H().off(e),o.apply(this,arguments)},i.guid=o.guid||(o.guid=H.guid++)),this.each(function(){H.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){if(e&&e.preventDefault&&e.handleObj){var i=e.handleObj;return H(e.delegateTarget).off(i.namespace?i.origType+"."+i.namespace:i.origType,i.selector,i.handler),this}if(typeof e=="object"){for(var 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=k),this.each(function(){H.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 H(this.context).on(e,this.selector,t,n),this},die:function(e,t){return H(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(){H.event.trigger(e,t,this)})},triggerHandler:function(e,t){if(this[0])return H.event.trigger(e,t,this[0],!0)},toggle:function(e){var t=arguments,n=e.guid||H.guid++,r=0,i=function(n){var i=(H._data(this,"lastToggle"+e.guid)||0)%r;return H._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)}}),H.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){H.fn[t]=function(e,n){return n==null&&(n=e,e=null),arguments.length>0?this.on(t,null,e,n):this.trigger(t)},H.attrFn&&(H.attrFn[t]=!0),et.test(t)&&(H.event.fixHooks[t]=H.event.keyHooks),tt.test(t)&&(H.event.fixHooks[t]=H.event.mouseHooks)}),function(){function e(e,t,n,r,s,o){for(var u=0,a=r.length;u<a;u++){var f=r[u];if(f){var l=!1;f=f[e];while(f){if(f[i]===n){l=r[f.sizset];break}if(f.nodeType===1){o||(f[i]=n,f.sizset=u);if(typeof t!="string"){if(f===t){l=!0;break}}else if(h.filter(t,[f]).length>0){l=f;break}}f=f[e]}r[u]=l}}}function n(e,t,n,r,s,o){for(var u=0,a=r.length;u<a;u++){var f=r[u];if(f){var l=!1;f=f[e];while(f){if(f[i]===n){l=r[f.sizset];break}f.nodeType===1&&!o&&(f[i]=n,f.sizset=u);if(f.nodeName.toLowerCase()===t){l=f;break}f=f[e]}r[u]=l}}}var r=/((?:\((?:\([^()]+\)|[^()]+)+\)|\[(?:\[[^\[\]]*\]|['"][^'"]*['"]|[^\[\]'"]+)+\]|\\.|[^ >+~,(\[\\]+)+|[>+~])(\s*,\s*)?((?:.|\r|\n)*)/g,i="sizcache"+(Math.random()+"").replace(".",""),s=0,o=Object.prototype.toString,u=!1,a=!0,f=/\\/g,l=/\r\n/g,c=/\W/;[0,0].sort(function(){return a=!1,0});var h=function(e,t,n,i){n=n||[],t=t||_;var s=t;if(t.nodeType!==1&&t.nodeType!==9)return[];if(!e||typeof e!="string")return n;var u,a,f,l,c,p,m,g,b=!0,w=h.isXML(t),E=[],x=e;do{r.exec(""),u=r.exec(x);if(u){x=u[3],E.push(u[1]);if(u[2]){l=u[3];break}}}while(u);if(E.length>1&&v.exec(e))if(E.length===2&&d.relative[E[0]])a=S(E[0]+E[1],t,i);else{a=d.relative[E[0]]?[t]:h(E.shift(),t);while(E.length)e=E.shift(),d.relative[e]&&(e+=E.shift()),a=S(e,a,i)}else{!i&&E.length>1&&t.nodeType===9&&!w&&d.match.ID.test(E[0])&&!d.match.ID.test(E[E.length-1])&&(c=h.find(E.shift(),t,w),t=c.expr?h.filter(c.expr,c.set)[0]:c.set[0]);if(t){c=i?{expr:E.pop(),set:y(i)}:h.find(E.pop(),E.length!==1||E[0]!=="~"&&E[0]!=="+"||!t.parentNode?t:t.parentNode,w),a=c.expr?h.filter(c.expr,c.set):c.set,E.length>0?f=y(a):b=!1;while(E.length)p=E.pop(),m=p,d.relative[p]?m=E.pop():p="",m==null&&(m=t),d.relative[p](f,m,w)}else f=E=[]}f||(f=a),f||h.error(p||e);if(o.call(f)==="[object Array]")if(!b)n.push.apply(n,f);else if(t&&t.nodeType===1)for(g=0;f[g]!=null;g++)f[g]&&(f[g]===!0||f[g].nodeType===1&&h.contains(t,f[g]))&&n.push(a[g]);else for(g=0;f[g]!=null;g++)f[g]&&f[g].nodeType===1&&n.push(a[g]);else y(f,n);return l&&(h(l,s,n,i),h.uniqueSort(n)),n};h.uniqueSort=function(e){if(w){u=a,e.sort(w);if(u)for(var t=1;t<e.length;t++)e[t]===e[t-1]&&e.splice(t--,1)}return e},h.matches=function(e,t){return h(e,null,null,t)},h.matchesSelector=function(e,t){return h(t,null,null,[e]).length>0},h.find=function(e,t,n){var r,i,s,o,u,a;if(!e)return[];for(i=0,s=d.order.length;i<s;i++){u=d.order[i];if(o=d.leftMatch[u].exec(e)){a=o[1],o.splice(1,1);if(a.substr(a.length-1)!=="\\"){o[1]=(o[1]||"").replace(f,""),r=d.find[u](o,t,n);if(r!=null){e=e.replace(d.match[u],"");break}}}}return r||(r=typeof t.getElementsByTagName!="undefined"?t.getElementsByTagName("*"):[]),{set:r,expr:e}},h.filter=function(e,n,r,i){var s,o,u,a,f,l,c,p,v,m=e,g=[],y=n,b=n&&n[0]&&h.isXML(n[0]);while(e&&n.length){for(u in d.filter)if((s=d.leftMatch[u].exec(e))!=null&&s[2]){l=d.filter[u],c=s[1],o=!1,s.splice(1,1);if(c.substr(c.length-1)==="\\")continue;y===g&&(g=[]);if(d.preFilter[u]){s=d.preFilter[u](s,y,r,g,i,b);if(!s)o=a=!0;else if(s===!0)continue}if(s)for(p=0;(f=y[p])!=null;p++)f&&(a=l(f,s,p,y),v=i^a,r&&a!=null?v?o=!0:y[p]=!1:v&&(g.push(f),o=!0));if(a!==t){r||(y=g),e=e.replace(d.match[u],"");if(!o)return[];break}}if(e===m){if(o!=null)break;h.error(e)}m=e}return y},h.error=function(e){throw new Error("Syntax error, unrecognized expression: "+e)};var p=h.getText=function(e){var t,n,r=e.nodeType,i="";if(r){if(r===1||r===9||r===11){if(typeof e.textContent=="string")return e.textContent;if(typeof e.innerText=="string")return e.innerText.replace(l,"");for(e=e.firstChild;e;e=e.nextSibling)i+=p(e)}else if(r===3||r===4)return e.nodeValue}else for(t=0;n=e[t];t++)n.nodeType!==8&&(i+=p(n));return i},d=h.selectors={order:["ID","NAME","TAG"],match:{ID:/#((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,CLASS:/\.((?:[\w\u00c0-\uFFFF\-]|\\.)+)/,NAME:/\[name=['"]*((?:[\w\u00c0-\uFFFF\-]|\\.)+)['"]*\]/,ATTR:/\[\s*((?:[\w\u00c0-\uFFFF\-]|\\.)+)\s*(?:(\S?=)\s*(?:(['"])(.*?)\3|(#?(?:[\w\u00c0-\uFFFF\-]|\\.)*)|)|)\s*\]/,TAG:/^((?:[\w\u00c0-\uFFFF\*\-]|\\.)+)/,CHILD:/:(only|nth|last|first)-child(?:\(\s*(even|odd|(?:[+\-]?\d+|(?:[+\-]?\d*)?n\s*(?:[+\-]\s*\d+)?))\s*\))?/,POS:/:(nth|eq|gt|lt|first|last|even|odd)(?:\((\d*)\))?(?=[^\-]|$)/,PSEUDO:/:((?:[\w\u00c0-\uFFFF\-]|\\.)+)(?:\((['"]?)((?:\([^\)]+\)|[^\(\)]*)+)\2\))?/},leftMatch:{},attrMap:{"class":"className","for":"htmlFor"},attrHandle:{href:function(e){return e.getAttribute("href")},type:function(e){return e.getAttribute("type")}},relative:{"+":function(e,t){var n=typeof t=="string",r=n&&!c.test(t),i=n&&!r;r&&(t=t.toLowerCase());for(var s=0,o=e.length,u;s<o;s++)if(u=e[s]){while((u=u.previousSibling)&&u.nodeType!==1);e[s]=i||u&&u.nodeName.toLowerCase()===t?u||!1:u===t}i&&h.filter(t,e,!0)},">":function(e,t){var n,r=typeof t=="string",i=0,s=e.length;if(r&&!c.test(t)){t=t.toLowerCase();for(;i<s;i++){n=e[i];if(n){var o=n.parentNode;e[i]=o.nodeName.toLowerCase()===t?o:!1}}}else{for(;i<s;i++)n=e[i],n&&(e[i]=r?n.parentNode:n.parentNode===t);r&&h.filter(t,e,!0)}},"":function(t,r,i){var o,u=s++,a=e;typeof r=="string"&&!c.test(r)&&(r=r.toLowerCase(),o=r,a=n),a("parentNode",r,u,t,o,i)},"~":function(t,r,i){var o,u=s++,a=e;typeof r=="string"&&!c.test(r)&&(r=r.toLowerCase(),o=r,a=n),a("previousSibling",r,u,t,o,i)}},find:{ID:function(e,t,n){if(typeof t.getElementById!="undefined"&&!n){var r=t.getElementById(e[1]);return r&&r.parentNode?[r]:[]}},NAME:function(e,t){if(typeof t.getElementsByName!="undefined"){var n=[],r=t.getElementsByName(e[1]);for(var i=0,s=r.length;i<s;i++)r[i].getAttribute("name")===e[1]&&n.push(r[i]);return n.length===0?null:n}},TAG:function(e,t){if(typeof t.getElementsByTagName!="undefined")return t.getElementsByTagName(e[1])}},preFilter:{CLASS:function(e,t,n,r,i,s){e=" "+e[1].replace(f,"")+" ";if(s)return e;for(var o=0,u;(u=t[o])!=null;o++)u&&(i^(u.className&&(" "+u.className+" ").replace(/[\t\n\r]/g," ").indexOf(e)>=0)?n||r.push(u):n&&(t[o]=!1));return!1},ID:function(e){return e[1].replace(f,"")},TAG:function(e,t){return e[1].replace(f,"").toLowerCase()},CHILD:function(e){if(e[1]==="nth"){e[2]||h.error(e[0]),e[2]=e[2].replace(/^\+|\s*/g,"");var t=/(-?)(\d*)(?:n([+\-]?\d*))?/.exec(e[2]==="even"&&"2n"||e[2]==="odd"&&"2n+1"||!/\D/.test(e[2])&&"0n+"+e[2]||e[2]);e[2]=t[1]+(t[2]||1)-0,e[3]=t[3]-0}else e[2]&&h.error(e[0]);return e[0]=s++,e},ATTR:function(e,t,n,r,i,s){var o=e[1]=e[1].replace(f,"");return!s&&d.attrMap[o]&&(e[1]=d.attrMap[o]),e[4]=(e[4]||e[5]||"").replace(f,""),e[2]==="~="&&(e[4]=" "+e[4]+" "),e},PSEUDO:function(e,t,n,i,s){if(e[1]==="not"){if(!((r.exec(e[3])||"").length>1||/^\w/.test(e[3]))){var o=h.filter(e[3],t,n,!0^s);return n||i.push.apply(i,o),!1}e[3]=h(e[3],null,null,t)}else if(d.match.POS.test(e[0])||d.match.CHILD.test(e[0]))return!0;return e},POS:function(e){return e.unshift(!0),e}},filters:{enabled:function(e){return e.disabled===!1&&e.type!=="hidden"},disabled:function(e){return e.disabled===!0},checked:function(e){return e.checked===!0},selected:function(e){return e.parentNode&&e.parentNode.selectedIndex,e.selected===!0},parent:function(e){return!!e.firstChild},empty:function(e){return!e.firstChild},has:function(e,t,n){return!!h(n[3],e).length},header:function(e){return/h\d/i.test(e.nodeName)},text:function(e){var t=e.getAttribute("type"),n=e.type;return e.nodeName.toLowerCase()==="input"&&"text"===n&&(t===n||t===null)},radio:function(e){return e.nodeName.toLowerCase()==="input"&&"radio"===e.type},checkbox:function(e){return e.nodeName.toLowerCase()==="input"&&"checkbox"===e.type},file:function(e){return e.nodeName.toLowerCase()==="input"&&"file"===e.type},password:function(e){return e.nodeName.toLowerCase()==="input"&&"password"===e.type},submit:function(e){var t=e.nodeName.toLowerCase();return(t==="input"||t==="button")&&"submit"===e.type},image:function(e){return e.nodeName.toLowerCase()==="input"&&"image"===e.type},reset:function(e){var t=e.nodeName.toLowerCase();return(t==="input"||t==="button")&&"reset"===e.type},button:function(e){var t=e.nodeName.toLowerCase();return t==="input"&&"button"===e.type||t==="button"},input:function(e){return/input|select|textarea|button/i.test(e.nodeName)},focus:function(e){return e===e.ownerDocument.activeElement}},setFilters:{first:function(e,t){return t===0},last:function(e,t,n,r){return t===r.length-1},even:function(e,t){return t%2===0},odd:function(e,t){return t%2===1},lt:function(e,t,n){return t<n[3]-0},gt:function(e,t,n){return t>n[3]-0},nth:function(e,t,n){return n[3]-0===t},eq:function(e,t,n){return n[3]-0===t}},filter:{PSEUDO:function(e,t,n,r){var i=t[1],s=d.filters[i];if(s)return s(e,n,t,r);if(i==="contains")return(e.textContent||e.innerText||p([e])||"").indexOf(t[3])>=0;if(i==="not"){var o=t[3];for(var u=0,a=o.length;u<a;u++)if(o[u]===e)return!1;return!0}h.error(i)},CHILD:function(e,t){var n,r,s,o,u,a,f,l=t[1],c=e;switch(l){case"only":case"first":while(c=c.previousSibling)if(c.nodeType===1)return!1;if(l==="first")return!0;c=e;case"last":while(c=c.nextSibling)if(c.nodeType===1)return!1;return!0;case"nth":n=t[2],r=t[3];if(n===1&&r===0)return!0;s=t[0],o=e.parentNode;if(o&&(o[i]!==s||!e.nodeIndex)){a=0;for(c=o.firstChild;c;c=c.nextSibling)c.nodeType===1&&(c.nodeIndex=++a);o[i]=s}return f=e.nodeIndex-r,n===0?f===0:f%n===0&&f/n>=0}},ID:function(e,t){return e.nodeType===1&&e.getAttribute("id")===t},TAG:function(e,t){return t==="*"&&e.nodeType===1||!!e.nodeName&&e.nodeName.toLowerCase()===t},CLASS:function(e,t){return(" "+(e.className||e.getAttribute("class"))+" ").indexOf(t)>-1},ATTR:function(e,t){var n=t[1],r=h.attr?h.attr(e,n):d.attrHandle[n]?d.attrHandle[n](e):e[n]!=null?e[n]:e.getAttribute(n),i=r+"",s=t[2],o=t[4];return r==null?s==="!=":!s&&h.attr?r!=null:s==="="?i===o:s==="*="?i.indexOf(o)>=0:s==="~="?(" "+i+" ").indexOf(o)>=0:o?s==="!="?i!==o:s==="^="?i.indexOf(o)===0:s==="$="?i.substr(i.length-o.length)===o:s==="|="?i===o||i.substr(0,o.length+1)===o+"-":!1:i&&r!==!1},POS:function(e,t,n,r){var i=t[2],s=d.setFilters[i];if(s)return s(e,n,t,r)}}},v=d.match.POS,m=function(e,t){return"\\"+(t-0+1)};for(var g in d.match)d.match[g]=new RegExp(d.match[g].source+/(?![^\[]*\])(?![^\(]*\))/.source),d.leftMatch[g]=new RegExp(/(^(?:.|\r|\n)*?)/.source+d.match[g].source.replace(/\\(\d+)/g,m));d.match.globalPOS=v;var y=function(e,t){return e=Array.prototype.slice.call(e,0),t?(t.push.apply(t,e),t):e};try{Array.prototype.slice.call(_.documentElement.childNodes,0)[0].nodeType}catch(b){y=function(e,t){var n=0,r=t||[];if(o.call(e)==="[object Array]")Array.prototype.push.apply(r,e);else if(typeof e.length=="number")for(var i=e.length;n<i;n++)r.push(e[n]);else for(;e[n];n++)r.push(e[n]);return r}}var w,E;_.documentElement.compareDocumentPosition?w=function(e,t){return e===t?(u=!0,0):!e.compareDocumentPosition||!t.compareDocumentPosition?e.compareDocumentPosition?-1:1:e.compareDocumentPosition(t)&4?-1:1}:(w=function(e,t){if(e===t)return u=!0,0;if(e.sourceIndex&&t.sourceIndex)return e.sourceIndex-t.sourceIndex;var n,r,i=[],s=[],o=e.parentNode,a=t.parentNode,f=o;if(o===a)return E(e,t);if(!o)return-1;if(!a)return 1;while(f)i.unshift(f),f=f.parentNode;f=a;while(f)s.unshift(f),f=f.parentNode;n=i.length,r=s.length;for(var l=0;l<n&&l<r;l++)if(i[l]!==s[l])return E(i[l],s[l]);return l===n?E(e,s[l],-1):E(i[l],t,1)},E=function(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(){var e=_.createElement("div"),n="script"+(new Date).getTime(),r=_.documentElement;e.innerHTML="<a name='"+n+"'/>",r.insertBefore(e,r.firstChild),_.getElementById(n)&&(d.find.ID=function(e,n,r){if(typeof n.getElementById!="undefined"&&!r){var i=n.getElementById(e[1]);return i?i.id===e[1]||typeof i.getAttributeNode!="undefined"&&i.getAttributeNode("id").nodeValue===e[1]?[i]:t:[]}},d.filter.ID=function(e,t){var n=typeof e.getAttributeNode!="undefined"&&e.getAttributeNode("id");return e.nodeType===1&&n&&n.nodeValue===t}),r.removeChild(e),r=e=null}(),function(){var e=_.createElement("div");e.appendChild(_.createComment("")),e.getElementsByTagName("*").length>0&&(d.find.TAG=function(e,t){var n=t.getElementsByTagName(e[1]);if(e[1]==="*"){var r=[];for(var i=0;n[i];i++)n[i].nodeType===1&&r.push(n[i]);n=r}return n}),e.innerHTML="<a href='#'></a>",e.firstChild&&typeof e.firstChild.getAttribute!="undefined"&&e.firstChild.getAttribute("href")!=="#"&&(d.attrHandle.href=function(e){return e.getAttribute("href",2)}),e=null}(),_.querySelectorAll&&function(){var e=h,t=_.createElement("div"),n="__sizzle__";t.innerHTML="<p class='TEST'></p>";if(!t.querySelectorAll||t.querySelectorAll(".TEST").length!==0){h=function(t,r,i,s){r=r||_;if(!s&&!h.isXML(r)){var o=/^(\w+$)|^\.([\w\-]+$)|^#([\w\-]+$)/.exec(t);if(o&&(r.nodeType===1||r.nodeType===9)){if(o[1])return y(r.getElementsByTagName(t),i);if(o[2]&&d.find.CLASS&&r.getElementsByClassName)return y(r.getElementsByClassName(o[2]),i)}if(r.nodeType===9){if(t==="body"&&r.body)return y([r.body],i);if(o&&o[3]){var u=r.getElementById(o[3]);if(!u||!u.parentNode)return y([],i);if(u.id===o[3])return y([u],i)}try{return y(r.querySelectorAll(t),i)}catch(a){}}else if(r.nodeType===1&&r.nodeName.toLowerCase()!=="object"){var f=r,l=r.getAttribute("id"),c=l||n,p=r.parentNode,v=/^\s*[+~]/.test(t);l?c=c.replace(/'/g,"\\$&"):r.setAttribute("id",c),v&&p&&(r=r.parentNode);try{if(!v||p)return y(r.querySelectorAll("[id='"+c+"'] "+t),i)}catch(m){}finally{l||f.removeAttribute("id")}}}return e(t,r,i,s)};for(var r in e)h[r]=e[r];t=null}}(),function(){var e=_.documentElement,t=e.matchesSelector||e.mozMatchesSelector||e.webkitMatchesSelector||e.msMatchesSelector;if(t){var n=!t.call(_.createElement("div"),"div"),r=!1;try{t.call(_.documentElement,"[test!='']:sizzle")}catch(i){r=!0}h.matchesSelector=function(e,i){i=i.replace(/\=\s*([^'"\]]*)\s*\]/g,"='$1']");if(!h.isXML(e))try{if(r||!d.match.PSEUDO.test(i)&&!/!=/.test(i)){var s=t.call(e,i);if(s||!n||e.document&&e.document.nodeType!==11)return s}}catch(o){}return h(i,null,null,[e]).length>0}}}(),function(){var e=_.createElement("div");e.innerHTML="<div class='test e'></div><div class='test'></div>";if(!!e.getElementsByClassName&&e.getElementsByClassName("e").length!==0){e.lastChild.className="e";if(e.getElementsByClassName("e").length===1)return;d.order.splice(1,0,"CLASS"),d.find.CLASS=function(e,t,n){if(typeof t.getElementsByClassName!="undefined"&&!n)return t.getElementsByClassName(e[1])},e=null}}(),_.documentElement.contains?h.contains=function(e,t){return e!==t&&(e.contains?e.contains(t):!0)}:_.documentElement.compareDocumentPosition?h.contains=function(e,t){return!!(e.compareDocumentPosition(t)&16)}:h.contains=function(){return!1},h.isXML=function(e){var t=(e?e.ownerDocument||e:0).documentElement;return t?t.nodeName!=="HTML":!1};var S=function(e,t,n){var r,i=[],s="",o=t.nodeType?[t]:t;while(r=d.match.PSEUDO.exec(e))s+=r[0],e=e.replace(d.match.PSEUDO,"");e=d.relative[e]?e+"*":e;for(var u=0,a=o.length;u<a;u++)h(e,o[u],i,n);return h.filter(s,i)};h.attr=H.attr,h.selectors.attrMap={},H.find=h,H.expr=h.selectors,H.expr[":"]=H.expr.filters,H.unique=h.uniqueSort,H.text=h.getText,H.isXMLDoc=h.isXML,H.contains=h.contains}();var ut=/Until$/,at=/^(?:parents|prevUntil|prevAll)/,ft=/,/,lt=/^.[^:#\[\.,]*$/,ct=Array.prototype.slice,ht=H.expr.match.globalPOS,pt={children:!0,contents:!0,next:!0,prev:!0};H.fn.extend({find:function(e){var t=this,n,r;if(typeof e!="string")return H(e).filter(function(){for(n=0,r=t.length;n<r;n++)if(H.contains(t[n],this))return!0});var i=this.pushStack("","find",e),s,o,u;for(n=0,r=this.length;n<r;n++){s=i.length,H.find(e,this[n],i);if(n>0)for(o=s;o<i.length;o++)for(u=0;u<s;u++)if(i[u]===i[o]){i.splice(o--,1);break}}return i},has:function(e){var t=H(e);return this.filter(function(){for(var e=0,n=t.length;e<n;e++)if(H.contains(this,t[e]))return!0})},not:function(e){return this.pushStack(T(this,e,!1),"not",e)},filter:function(e){return this.pushStack(T(this,e,!0),"filter",e)},is:function(e){return!!e&&(typeof e=="string"?ht.test(e)?H(e,this.context).index(this[0])>=0:H.filter(e,this).length>0:this.filter(e).length>0)},closest:function(e,t){var n=[],r,i,s=this[0];if(H.isArray(e)){var o=1;while(s&&s.ownerDocument&&s!==t){for(r=0;r<e.length;r++)H(s).is(e[r])&&n.push({selector:e[r],elem:s,level:o});s=s.parentNode,o++}return n}var u=ht.test(e)||typeof e!="string"?H(e,t||this.context):0;for(r=0,i=this.length;r<i;r++){s=this[r];while(s){if(u?u.index(s)>-1:H.find.matchesSelector(s,e)){n.push(s);break}s=s.parentNode;if(!s||!s.ownerDocument||s===t||s.nodeType===11)break}}return n=n.length>1?H.unique(n):n,this.pushStack(n,"closest",e)},index:function(e){return e?typeof e=="string"?H.inArray(this[0],H(e)):H.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"?H(e,t):H.makeArray(e&&e.nodeType?[e]:e),r=H.merge(this.get(),n);return this.pushStack(N(n[0])||N(r[0])?r:H.unique(r))},andSelf:function(){return this.add(this.prevObject)}}),H.each({parent:function(e){var t=e.parentNode;return t&&t.nodeType!==11?t:null},parents:function(e){return H.dir(e,"parentNode")},parentsUntil:function(e,t,n){return H.dir(e,"parentNode",n)},next:function(e){return H.nth(e,2,"nextSibling")},prev:function(e){return H.nth(e,2,"previousSibling")},nextAll:function(e){return H.dir(e,"nextSibling")},prevAll:function(e){return H.dir(e,"previousSibling")},nextUntil:function(e,t,n){return H.dir(e,"nextSibling",n)},prevUntil:function(e,t,n){return H.dir(e,"previousSibling",n)},siblings:function(e){return H.sibling((e.parentNode||{}).firstChild,e)},children:function(e){return H.sibling(e.firstChild)},contents:function(e){return H.nodeName(e,"iframe")?e.contentDocument||e.contentWindow.document:H.makeArray(e.childNodes)}},function(e,t){H.fn[e]=function(n,r){var i=H.map(this,t,n);return ut.test(e)||(r=n),r&&typeof r=="string"&&(i=H.filter(r,i)),i=this.length>1&&!pt[e]?H.unique(i):i,(this.length>1||ft.test(r))&&at.test(e)&&(i=i.reverse()),this.pushStack(i,e,ct.call(arguments).join(","))}}),H.extend({filter:function(e,t,n){return n&&(e=":not("+e+")"),t.length===1?H.find.matchesSelector(t[0],e)?[t[0]]:[]:H.find.matches(e,t)},dir:function(e,n,r){var i=[],s=e[n];while(s&&s.nodeType!==9&&(r===t||s.nodeType!==1||!H(s).is(r)))s.nodeType===1&&i.push(s),s=s[n];return i},nth:function(e,t,n,r){t=t||1;var i=0;for(;e;e=e[n])if(e.nodeType===1&&++i===t)break;return e},sibling:function(e,t){var n=[];for(;e;e=e.nextSibling)e.nodeType===1&&e!==t&&n.push(e);return n}});var dt="abbr|article|aside|audio|bdi|canvas|data|datalist|details|figcaption|figure|footer|header|hgroup|mark|meter|nav|output|progress|section|summary|time|video",vt=/ jQuery\d+="(?:\d+|null)"/g,mt=/^\s+/,gt=/<(?!area|br|col|embed|hr|img|input|link|meta|param)(([\w:]+)[^>]*)\/>/ig,yt=/<([\w:]+)/,bt=/<tbody/i,wt=/<|&#?\w+;/,Et=/<(?:script|style)/i,St=/<(?:script|object|embed|option|style)/i,xt=new RegExp("<(?:"+dt+")[\\s/>]","i"),Tt=/checked\s*(?:[^=]|=\s*.checked.)/i,Nt=/\/(java|ecma)script/i,Ct=/^\s*<!(?:\[CDATA\[|\-\-)/,kt={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,"",""]},Lt=x(_);kt.optgroup=kt.option,kt.tbody=kt.tfoot=kt.colgroup=kt.caption=kt.thead,kt.th=kt.td,H.support.htmlSerialize||(kt._default=[1,"div<div>","</div>"]),H.fn.extend({text:function(e){return H.access(this,function(e){return e===t?H.text(this):this.empty().append((this[0]&&this[0].ownerDocument||_).createTextNode(e))},null,e,arguments.length)},wrapAll:function(e){if(H.isFunction(e))return this.each(function(t){H(this).wrapAll(e.call(this,t))});if(this[0]){var t=H(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 H.isFunction(e)?this.each(function(t){H(this).wrapInner(e.call(this,t))}):this.each(function(){var t=H(this),n=t.contents();n.length?n.wrapAll(e):t.append(e)})},wrap:function(e){var t=H.isFunction(e);return this.each(function(n){H(this).wrapAll(t?e.call(this,n):e)})},unwrap:function(){return this.parent().each(function(){H.nodeName(this,"body")||H(this).replaceWith(this.childNodes)}).end()},append:function(){return this.domManip(arguments,!0,function(e){this.nodeType===1&&this.appendChild(e)})},prepend:function(){return this.domManip(arguments,!0,function(e){this.nodeType===1&&this.insertBefore(e,this.firstChild)})},before:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this)});if(arguments.length){var e=H.clean(arguments);return e.push.apply(e,this.toArray()),this.pushStack(e,"before",arguments)}},after:function(){if(this[0]&&this[0].parentNode)return this.domManip(arguments,!1,function(e){this.parentNode.insertBefore(e,this.nextSibling)});if(arguments.length){var e=this.pushStack(this,"after",arguments);return e.push.apply(e,H.clean(arguments)),e}},remove:function(e,t){for(var n=0,r;(r=this[n])!=null;n++)if(!e||H.filter(e,[r]).length)!t&&r.nodeType===1&&(H.cleanData(r.getElementsByTagName("*")),H.cleanData([r])),r.parentNode&&r.parentNode.removeChild(r);return this},empty:function(){for(var e=0,t;(t=this[e])!=null;e++){t.nodeType===1&&H.cleanData(t.getElementsByTagName("*"));while(t.firstChild)t.removeChild(t.firstChild)}return this},clone:function(e,t){return e=e==null?!1:e,t=t==null?e:t,this.map(function(){return H.clone(this,e,t)})},html:function(e){return H.access(this,function(e){var n=this[0]||{},r=0,i=this.length;if(e===t)return n.nodeType===1?n.innerHTML.replace(vt,""):null;if(typeof e=="string"&&!Et.test(e)&&(H.support.leadingWhitespace||!mt.test(e))&&!kt[(yt.exec(e)||["",""])[1].toLowerCase()]){e=e.replace(gt,"<$1></$2>");try{for(;r<i;r++)n=this[r]||{},n.nodeType===1&&(H.cleanData(n.getElementsByTagName("*")),n.innerHTML=e);n=0}catch(s){}}n&&this.empty().append(e)},null,e,arguments.length)},replaceWith:function(e){return this[0]&&this[0].parentNode?H.isFunction(e)?this.each(function(t){var n=H(this),r=n.html();n.replaceWith(e.call(this,t,r))}):(typeof e!="string"&&(e=H(e).detach()),this.each(function(){var t=this.nextSibling,n=this.parentNode;H(this).remove(),t?H(t).before(e):H(n).append(e)})):this.length?this.pushStack(H(H.isFunction(e)?e():e),"replaceWith",e):this},detach:function(e){return this.remove(e,!0)},domManip:function(e,n,r){var i,s,o,u,a=e[0],f=[];if(!H.support.checkClone&&arguments.length===3&&typeof a=="string"&&Tt.test(a))return this.each(function(){H(this).domManip(e,n,r,!0)});if(H.isFunction(a))return this.each(function(i){var s=H(this);e[0]=a.call(this,i,n?s.html():t),s.domManip(e,n,r)});if(this[0]){u=a&&a.parentNode,H.support.parentNode&&u&&u.nodeType===11&&u.childNodes.length===this.length?i={fragment:u}:i=H.buildFragment(e,this,f),o=i.fragment,o.childNodes.length===1?s=o=o.firstChild:s=o.firstChild;if(s){n=n&&H.nodeName(s,"tr");for(var l=0,c=this.length,h=c-1;l<c;l++)r.call(n?S(this[l],s):this[l],i.cacheable||c>1&&l<h?H.clone(o,!0,!0):o)}f.length&&H.each(f,function(e,t){t.src?H.ajax({type:"GET",global:!1,url:t.src,async:!1,dataType:"script"}):H.globalEval((t.text||t.textContent||t.innerHTML||"").replace(Ct,"/*$0*/")),t.parentNode&&t.parentNode.removeChild(t)})}return this}}),H.buildFragment=function(e,t,n){var r,i,s,o,u=e[0];return t&&t[0]&&(o=t[0].ownerDocument||t[0]),o.createDocumentFragment||(o=_),e.length===1&&typeof u=="string"&&u.length<512&&o===_&&u.charAt(0)==="<"&&!St.test(u)&&(H.support.checkClone||!Tt.test(u))&&(H.support.html5Clone||!xt.test(u))&&(i=!0,s=H.fragments[u],s&&s!==1&&(r=s)),r||(r=o.createDocumentFragment(),H.clean(e,o,r,n)),i&&(H.fragments[u]=s?r:1),{fragment:r,cacheable:i}},H.fragments={},H.each({appendTo:"append",prependTo:"prepend",insertBefore:"before",insertAfter:"after",replaceAll:"replaceWith"},function(e,t){H.fn[e]=function(n){var r=[],i=H(n),s=this.length===1&&this[0].parentNode;if(s&&s.nodeType===11&&s.childNodes.length===1&&i.length===1)return i[t](this[0]),this;for(var o=0,u=i.length;o<u;o++){var a=(o>0?this.clone(!0):this).get();H(i[o])[t](a),r=r.concat(a)}return this.pushStack(r,e,i.selector)}}),H.extend({clone:function(e,t,n){var r,i,s,o=H.support.html5Clone||H.isXMLDoc(e)||!xt.test("<"+e.nodeName+">")?e.cloneNode(!0):m(e);if((!H.support.noCloneEvent||!H.support.noCloneChecked)&&(e.nodeType===1||e.nodeType===11)&&!H.isXMLDoc(e)){w(e,o),r=b(e),i=b(o);for(s=0;r[s];++s)i[s]&&w(r[s],i[s])}if(t){E(e,o);if(n){r=b(e),i=b(o);for(s=0;r[s];++s)E(r[s],i[s])}}return r=i=null,o},clean:function(e,t,n,r){var i,s,o,u=[];t=t||_,typeof t.createElement=="undefined"&&(t=t.ownerDocument||t[0]&&t[0].ownerDocument||_);for(var a=0,f;(f=e[a])!=null;a++){typeof f=="number"&&(f+="");if(!f)continue;if(typeof f=="string")if(!wt.test(f))f=t.createTextNode(f);else{f=f.replace(gt,"<$1></$2>");var l=(yt.exec(f)||["",""])[1].toLowerCase(),c=kt[l]||kt._default,h=c[0],p=t.createElement("div"),d=Lt.childNodes,v;t===_?Lt.appendChild(p):x(t).appendChild(p),p.innerHTML=c[1]+f+c[2];while(h--)p=p.lastChild;if(!H.support.tbody){var m=bt.test(f),y=l==="table"&&!m?p.firstChild&&p.firstChild.childNodes:c[1]==="<table>"&&!m?p.childNodes:[];for(o=y.length-1;o>=0;--o)H.nodeName(y[o],"tbody")&&!y[o].childNodes.length&&y[o].parentNode.removeChild(y[o])}!H.support.leadingWhitespace&&mt.test(f)&&p.insertBefore(t.createTextNode(mt.exec(f)[0]),p.firstChild),f=p.childNodes,p&&(p.parentNode.removeChild(p),d.length>0&&(v=d[d.length-1],v&&v.parentNode&&v.parentNode.removeChild(v)))}var b;if(!H.support.appendChecked)if(f[0]&&typeof (b=f.length)=="number")for(o=0;o<b;o++)g(f[o]);else g(f);f.nodeType?u.push(f):u=H.merge(u,f)}if(n){i=function(e){return!e.type||Nt.test(e.type)};for(a=0;u[a];a++){s=u[a];if(r&&H.nodeName(s,"script")&&(!s.type||Nt.test(s.type)))r.push(s.parentNode?s.parentNode.removeChild(s):s);else{if(s.nodeType===1){var w=H.grep(s.getElementsByTagName("script"),i);u.splice.apply(u,[a+1,0].concat(w))}n.appendChild(s)}}}return u},cleanData:function(e){var t,n,r=H.cache,i=H.event.special,s=H.support.deleteExpando;for(var o=0,u;(u=e[o])!=null;o++){if(u.nodeName&&H.noData[u.nodeName.toLowerCase()])continue;n=u[H.expando];if(n){t=r[n];if(t&&t.events){for(var a in t.events)i[a]?H.event.remove(u,a):H.removeEvent(u,a,t.handle);t.handle&&(t.handle.elem=null)}s?delete u[H.expando]:u.removeAttribute&&u.removeAttribute(H.expando),delete r[n]}}}});var At=/alpha\([^)]*\)/i,Ot=/opacity=([^)]*)/,Mt=/([A-Z]|^ms)/g,_t=/^[\-+]?(?:\d*\.)?\d+$/i,Dt=/^-?(?:\d*\.)?\d+(?!px)[^\d\s]+$/i,Pt=/^([\-+])=([\-+.\de]+)/,Ht=/^margin/,Bt={position:"absolute",visibility:"hidden",display:"block"},jt=["Top","Right","Bottom","Left"],Ft,It,qt;H.fn.css=function(e,n){return H.access(this,function(e,n,r){return r!==t?H.style(e,n,r):H.css(e,n)},e,n,arguments.length>1)},H.extend({cssHooks:{opacity:{get:function(e,t){if(t){var n=Ft(e,"opacity");return n===""?"1":n}return e.style.opacity}}},cssNumber:{fillOpacity:!0,fontWeight:!0,lineHeight:!0,opacity:!0,orphans:!0,widows:!0,zIndex:!0,zoom:!0},cssProps:{"float":H.support.cssFloat?"cssFloat":"styleFloat"},style:function(e,n,r,i){if(!!e&&e.nodeType!==3&&e.nodeType!==8&&!!e.style){var s,o,u=H.camelCase(n),a=e.style,f=H.cssHooks[u];n=H.cssProps[u]||u;if(r===t)return f&&"get"in f&&(s=f.get(e,!1,i))!==t?s:a[n];o=typeof r,o==="string"&&(s=Pt.exec(r))&&(r=+(s[1]+1)*+s[2]+parseFloat(H.css(e,n)),o="number");if(r==null||o==="number"&&isNaN(r))return;o==="number"&&!H.cssNumber[u]&&(r+="px");if(!f||!("set"in f)||(r=f.set(e,r))!==t)try{a[n]=r}catch(l){}}},css:function(e,n,r){var i,s;n=H.camelCase(n),s=H.cssHooks[n],n=H.cssProps[n]||n,n==="cssFloat"&&(n="float");if(s&&"get"in s&&(i=s.get(e,!0,r))!==t)return i;if(Ft)return Ft(e,n)},swap:function(e,t,n){var r={},i,s;for(s in t)r[s]=e.style[s],e.style[s]=t[s];i=n.call(e);for(s in t)e.style[s]=r[s];return i}}),H.curCSS=H.css,_.defaultView&&_.defaultView.getComputedStyle&&(It=function(e,t){var n,r,i,s,o=e.style;return t=t.replace(Mt,"-$1").toLowerCase(),(r=e.ownerDocument.defaultView)&&(i=r.getComputedStyle(e,null))&&(n=i.getPropertyValue(t),n===""&&!H.contains(e.ownerDocument.documentElement,e)&&(n=H.style(e,t))),!H.support.pixelMargin&&i&&Ht.test(t)&&Dt.test(n)&&(s=o.width,o.width=n,n=i.width,o.width=s),n}),_.documentElement.currentStyle&&(qt=function(e,t){var n,r,i,s=e.currentStyle&&e.currentStyle[t],o=e.style;return s==null&&o&&(i=o[t])&&(s=i),Dt.test(s)&&(n=o.left,r=e.runtimeStyle&&e.runtimeStyle.left,r&&(e.runtimeStyle.left=e.currentStyle.left),o.left=t==="fontSize"?"1em":s,s=o.pixelLeft+"px",o.left=n,r&&(e.runtimeStyle.left=r)),s===""?"auto":s}),Ft=It||qt,H.each(["height","width"],function(e,t){H.cssHooks[t]={get:function(e,n,r){if(n)return e.offsetWidth!==0?v(e,t,r):H.swap(e,Bt,function(){return v(e,t,r)})},set:function(e,t){return _t.test(t)?t+"px":t}}}),H.support.opacity||(H.cssHooks.opacity={get:function(e,t){return Ot.test((t&&e.currentStyle?e.currentStyle.filter:e.style.filter)||"")?parseFloat(RegExp.$1)/100+"":t?"1":""},set:function(e,t){var n=e.style,r=e.currentStyle,i=H.isNumeric(t)?"alpha(opacity="+t*100+")":"",s=r&&r.filter||n.filter||"";n.zoom=1;if(t>=1&&H.trim(s.replace(At,""))===""){n.removeAttribute("filter");if(r&&!r.filter)return}n.filter=At.test(s)?s.replace(At,i):s+" "+i}}),H(function(){H.support.reliableMarginRight||(H.cssHooks.marginRight={get:function(e,t){return H.swap(e,{display:"inline-block"},function(){return t?Ft(e,"margin-right"):e.style.marginRight})}})}),H.expr&&H.expr.filters&&(H.expr.filters.hidden=function(e){var t=e.offsetWidth,n=e.offsetHeight;return t===0&&n===0||!H.support.reliableHiddenOffsets&&(e.style&&e.style.display||H.css(e,"display"))==="none"},H.expr.filters.visible=function(e){return!H.expr.filters.hidden(e)}),H.each({margin:"",padding:"",border:"Width"},function(e,t){H.cssHooks[e+t]={expand:function(n){var r,i=typeof n=="string"?n.split(" "):[n],s={};for(r=0;r<4;r++)s[e+jt[r]+t]=i[r]||i[r-2]||i[0];return s}}});var Rt=/%20/g,Ut=/\[\]$/,zt=/\r?\n/g,Wt=/#.*$/,Xt=/^(.*?):[ \t]*([^\r\n]*)\r?$/mg,Vt=/^(?:color|date|datetime|datetime-local|email|hidden|month|number|password|range|search|tel|text|time|url|week)$/i,$t=/^(?:about|app|app\-storage|.+\-extension|file|res|widget):$/,Jt=/^(?:GET|HEAD)$/,Kt=/^\/\//,Qt=/\?/,Gt=/<script\b[^<]*(?:(?!<\/script>)<[^<]*)*<\/script>/gi,Yt=/^(?:select|textarea)/i,Zt=/\s+/,en=/([?&])_=[^&]*/,tn=/^([\w\+\.\-]+:)(?:\/\/([^\/?#:]*)(?::(\d+))?)?/,nn=H.fn.load,rn={},sn={},on,un,an=["*/"]+["*"];try{on=P.href}catch(fn){on=_.createElement("a"),on.href="",on=on.href}un=tn.exec(on.toLowerCase())||[],H.fn.extend({load:function(e,n,r){if(typeof e!="string"&&nn)return nn.apply(this,arguments);if(!this.length)return this;var i=e.indexOf(" ");if(i>=0){var s=e.slice(i,e.length);e=e.slice(0,i)}var o="GET";n&&(H.isFunction(n)?(r=n,n=t):typeof n=="object"&&(n=H.param(n,H.ajaxSettings.traditional),o="POST"));var u=this;return H.ajax({url:e,type:o,dataType:"html",data:n,complete:function(e,t,n){n=e.responseText,e.isResolved()&&(e.done(function(e){n=e}),u.html(s?H("<div>").append(n.replace(Gt,"")).find(s):n)),r&&u.each(r,[n,t,e])}}),this},serialize:function(){return H.param(this.serializeArray())},serializeArray:function(){return this.map(function(){return this.elements?H.makeArray(this.elements):this}).filter(function(){return this.name&&!this.disabled&&(this.checked||Yt.test(this.nodeName)||Vt.test(this.type))}).map(function(e,t){var n=H(this).val();return n==null?null:H.isArray(n)?H.map(n,function(e,n){return{name:t.name,value:e.replace(zt,"\r\n")}}):{name:t.name,value:n.replace(zt,"\r\n")}}).get()}}),H.each("ajaxStart ajaxStop ajaxComplete ajaxError ajaxSuccess ajaxSend".split(" "),function(e,t){H.fn[t]=function(e){return this.on(t,e)}}),H.each(["get","post"],function(e,n){H[n]=function(e,r,i,s){return H.isFunction(r)&&(s=s||i,i=r,r=t),H.ajax({type:n,url:e,data:r,success:i,dataType:s})}}),H.extend({getScript:function(e,n){return H.get(e,t,n,"script")},getJSON:function(e,t,n){return H.get(e,t,n,"json")},ajaxSetup:function(e,t){return t?h(e,H.ajaxSettings):(t=e,e=H.ajaxSettings),h(e,t),e},ajaxSettings:{url:on,isLocal:$t.test(un[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","*":an},contents:{xml:/xml/,html:/html/,json:/json/},responseFields:{xml:"responseXML",text:"responseText"},converters:{"* text":e.String,"text html":!0,"text json":H.parseJSON,"text xml":H.parseXML},flatOptions:{context:!0,url:!0}},ajaxPrefilter:d(rn),ajaxTransport:d(sn),ajax:function(e,n){function r(e,n,r,p){if(E!==2){E=2,b&&clearTimeout(b),y=t,m=p||"",T.readyState=e>0?4:0;var d,v,g,w=n,x=r?l(i,T,r):t,N,C;if(e>=200&&e<300||e===304){if(i.ifModified){if(N=T.getResponseHeader("Last-Modified"))H.lastModified[h]=N;if(C=T.getResponseHeader("Etag"))H.etag[h]=C}if(e===304)w="notmodified",d=!0;else try{v=f(i,x),w="success",d=!0}catch(k){w="parsererror",g=k}}else{g=w;if(!w||e)w="error",e<0&&(e=0)}T.status=e,T.statusText=""+(n||w),d?u.resolveWith(s,[v,w,T]):u.rejectWith(s,[T,w,g]),T.statusCode(c),c=t,S&&o.trigger("ajax"+(d?"Success":"Error"),[T,i,d?v:g]),a.fireWith(s,[T,w]),S&&(o.trigger("ajaxComplete",[T,i]),--H.active||H.event.trigger("ajaxStop"))}}typeof e=="object"&&(n=e,e=t),n=n||{};var i=H.ajaxSetup({},n),s=i.context||i,o=s!==i&&(s.nodeType||s instanceof H)?H(s):H.event,u=H.Deferred(),a=H.Callbacks("once memory"),c=i.statusCode||{},h,d={},v={},m,g,y,b,w,E=0,S,x,T={readyState:0,setRequestHeader:function(e,t){if(!E){var n=e.toLowerCase();e=v[n]=v[n]||e,d[e]=t}return this},getAllResponseHeaders:function(){return E===2?m:null},getResponseHeader:function(e){var n;if(E===2){if(!g){g={};while(n=Xt.exec(m))g[n[1].toLowerCase()]=n[2]}n=g[e.toLowerCase()]}return n===t?null:n},overrideMimeType:function(e){return E||(i.mimeType=e),this},abort:function(e){return e=e||"abort",y&&y.abort(e),r(0,e),this}};u.promise(T),T.success=T.done,T.error=T.fail,T.complete=a.add,T.statusCode=function(e){if(e){var t;if(E<2)for(t in e)c[t]=[c[t],e[t]];else t=e[T.status],T.then(t,t)}return this},i.url=((e||i.url)+"").replace(Wt,"").replace(Kt,un[1]+"//"),i.dataTypes=H.trim(i.dataType||"*").toLowerCase().split(Zt),i.crossDomain==null&&(w=tn.exec(i.url.toLowerCase()),i.crossDomain=!(!w||w[1]==un[1]&&w[2]==un[2]&&(w[3]||(w[1]==="http:"?80:443))==(un[3]||(un[1]==="http:"?80:443)))),i.data&&i.processData&&typeof i.data!="string"&&(i.data=H.param(i.data,i.traditional)),p(rn,i,n,T);if(E===2)return!1;S=i.global,i.type=i.type.toUpperCase(),i.hasContent=!Jt.test(i.type),S&&H.active++===0&&H.event.trigger("ajaxStart");if(!i.hasContent){i.data&&(i.url+=(Qt.test(i.url)?"&":"?")+i.data,delete i.data),h=i.url;if(i.cache===!1){var N=H.now(),C=i.url.replace(en,"$1_="+N);i.url=C+(C===i.url?(Qt.test(i.url)?"&":"?")+"_="+N:"")}}(i.data&&i.hasContent&&i.contentType!==!1||n.contentType)&&T.setRequestHeader("Content-Type",i.contentType),i.ifModified&&(h=h||i.url,H.lastModified[h]&&T.setRequestHeader("If-Modified-Since",H.lastModified[h]),H.etag[h]&&T.setRequestHeader("If-None-Match",H.etag[h])),T.setRequestHeader("Accept",i.dataTypes[0]&&i.accepts[i.dataTypes[0]]?i.accepts[i.dataTypes[0]]+(i.dataTypes[0]!=="*"?", "+an+"; q=0.01":""):i.accepts["*"]);for(x in i.headers)T.setRequestHeader(x,i.headers[x]);if(!i.beforeSend||i.beforeSend.call(s,T,i)!==!1&&E!==2){for(x in{success:1,error:1,complete:1})T[x](i[x]);y=p(sn,i,n,T);if(!y)r(-1,"No Transport");else{T.readyState=1,S&&o.trigger("ajaxSend",[T,i]),i.async&&i.timeout>0&&(b=setTimeout(function(){T.abort("timeout")},i.timeout));try{E=1,y.send(d,r)}catch(k){if(!(E<2))throw k;r(-1,k)}}return T}return T.abort(),!1},param:function(e,n){var r=[],i=function(e,t){t=H.isFunction(t)?t():t,r[r.length]=encodeURIComponent(e)+"="+encodeURIComponent(t)};n===t&&(n=H.ajaxSettings.traditional);if(H.isArray(e)||e.jquery&&!H.isPlainObject(e))H.each(e,function(){i(this.name,this.value)});else for(var s in e)c(s,e[s],n,i);return r.join("&").replace(Rt,"+")}}),H.extend({active:0,lastModified:{},etag:{}});var ln=H.now(),cn=/(\=)\?(&|$)|\?\?/i;H.ajaxSetup({jsonp:"callback",jsonpCallback:function(){return H.expando+"_"+ln++}}),H.ajaxPrefilter("json jsonp",function(t,n,r){var i=typeof t.data=="string"&&/^application\/x\-www\-form\-urlencoded/.test(t.contentType);if(t.dataTypes[0]==="jsonp"||t.jsonp!==!1&&(cn.test(t.url)||i&&cn.test(t.data))){var s,o=t.jsonpCallback=H.isFunction(t.jsonpCallback)?t.jsonpCallback():t.jsonpCallback,u=e[o],a=t.url,f=t.data,l="$1"+o+"$2";return t.jsonp!==!1&&(a=a.replace(cn,l),t.url===a&&(i&&(f=f.replace(cn,l)),t.data===f&&(a+=(/\?/.test(a)?"&":"?")+t.jsonp+"="+o))),t.url=a,t.data=f,e[o]=function(e){s=[e]},r.always(function(){e[o]=u,s&&H.isFunction(u)&&e[o](s[0])}),t.converters["script json"]=function(){return s||H.error(o+" was not called"),s[0]},t.dataTypes[0]="json","script"}}),H.ajaxSetup({accepts:{script:"text/javascript, application/javascript, application/ecmascript, application/x-ecmascript"},contents:{script:/javascript|ecmascript/},converters:{"text script":function(e){return H.globalEval(e),e}}}),H.ajaxPrefilter("script",function(e){e.cache===t&&(e.cache=!1),e.crossDomain&&(e.type="GET",e.global=!1)}),H.ajaxTransport("script",function(e){if(e.crossDomain){var n,r=_.head||_.getElementsByTagName("head")[0]||_.documentElement;return{send:function(i,s){n=_.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||s(200,"success")},r.insertBefore(n,r.firstChild)},abort:function(){n&&n.onload(0,1)}}}});var hn=e.ActiveXObject?function(){for(var e in dn)dn[e](0,1)}:!1,pn=0,dn;H.ajaxSettings.xhr=e.ActiveXObject?function(){return!this.isLocal&&a()||u()}:a,function(e){H.extend(H.support,{ajax:!!e,cors:!!e&&"withCredentials"in e})}(H.ajaxSettings.xhr()),H.support.ajax&&H.ajaxTransport(function(n){if(!n.crossDomain||H.support.cors){var r;return{send:function(i,s){var o=n.xhr(),u,a;n.username?o.open(n.type,n.url,n.async,n.username,n.password):o.open(n.type,n.url,n.async);if(n.xhrFields)for(a in n.xhrFields)o[a]=n.xhrFields[a];n.mimeType&&o.overrideMimeType&&o.overrideMimeType(n.mimeType),!n.crossDomain&&!i["X-Requested-With"]&&(i["X-Requested-With"]="XMLHttpRequest");try{for(a in i)o.setRequestHeader(a,i[a])}catch(f){}o.send(n.hasContent&&n.data||null),r=function(e,i){var a,f,l,c,h;try{if(r&&(i||o.readyState===4)){r=t,u&&(o.onreadystatechange=H.noop,hn&&delete dn[u]);if(i)o.readyState!==4&&o.abort();else{a=o.status,l=o.getAllResponseHeaders(),c={},h=o.responseXML,h&&h.documentElement&&(c.xml=h);try{c.text=o.responseText}catch(e){}try{f=o.statusText}catch(p){f=""}!a&&n.isLocal&&!n.crossDomain?a=c.text?200:404:a===1223&&(a=204)}}}catch(d){i||s(-1,d)}c&&s(a,f,c,l)},!n.async||o.readyState===4?r():(u=++pn,hn&&(dn||(dn={},H(e).unload(hn)),dn[u]=r),o.onreadystatechange=r)},abort:function(){r&&r(0,1)}}}});var vn={},mn,gn,yn=/^(?:toggle|show|hide)$/,bn=/^([+\-]=)?([\d+.\-]+)([a-z%]*)$/i,wn,En=[["height","marginTop","marginBottom","paddingTop","paddingBottom"],["width","marginLeft","marginRight","paddingLeft","paddingRight"],["opacity"]],Sn;H.fn.extend({show:function(e,t,n){var s,o;if(e||e===0)return this.animate(i("show",3),e,t,n);for(var u=0,a=this.length;u<a;u++)s=this[u],s.style&&(o=s.style.display,!H._data(s,"olddisplay")&&o==="none"&&(o=s.style.display=""),(o===""&&H.css(s,"display")==="none"||!H.contains(s.ownerDocument.documentElement,s))&&H._data(s,"olddisplay",r(s.nodeName)));for(u=0;u<a;u++){s=this[u];if(s.style){o=s.style.display;if(o===""||o==="none")s.style.display=H._data(s,"olddisplay")||""}}return this},hide:function(e,t,n){if(e||e===0)return this.animate(i("hide",3),e,t,n);var r,s,o=0,u=this.length;for(;o<u;o++)r=this[o],r.style&&(s=H.css(r,"display"),s!=="none"&&!H._data(r,"olddisplay")&&H._data(r,"olddisplay",s));for(o=0;o<u;o++)this[o].style&&(this[o].style.display="none");return this},_toggle:H.fn.toggle,toggle:function(e,t,n){var r=typeof e=="boolean";return H.isFunction(e)&&H.isFunction(t)?this._toggle.apply(this,arguments):e==null||r?this.each(function(){var t=r?e:H(this).is(":hidden");H(this)[t?"show":"hide"]()}):this.animate(i("toggle",3),e,t,n),this},fadeTo:function(e,t,n,r){return this.filter(":hidden").css("opacity",0).show().end().animate({opacity:t},e,n,r)},animate:function(e,t,n,i){function s(){o.queue===!1&&H._mark(this);var t=H.extend({},o),n=this.nodeType===1,i=n&&H(this).is(":hidden"),s,u,a,f,l,c,h,p,d,v,m;t.animatedProperties={};for(a in e){s=H.camelCase(a),a!==s&&(e[s]=e[a],delete e[a]);if((l=H.cssHooks[s])&&"expand"in l){c=l.expand(e[s]),delete e[s];for(a in c)a in e||(e[a]=c[a])}}for(s in e){u=e[s],H.isArray(u)?(t.animatedProperties[s]=u[1],u=e[s]=u[0]):t.animatedProperties[s]=t.specialEasing&&t.specialEasing[s]||t.easing||"swing";if(u==="hide"&&i||u==="show"&&!i)return t.complete.call(this);n&&(s==="height"||s==="width")&&(t.overflow=[this.style.overflow,this.style.overflowX,this.style.overflowY],H.css(this,"display")==="inline"&&H.css(this,"float")==="none"&&(!H.support.inlineBlockNeedsLayout||r(this.nodeName)==="inline"?this.style.display="inline-block":this.style.zoom=1))}t.overflow!=null&&(this.style.overflow="hidden");for(a in e)f=new H.fx(this,t,a),u=e[a],yn.test(u)?(m=H._data(this,"toggle"+a)||(u==="toggle"?i?"show":"hide":0),m?(H._data(this,"toggle"+a,m==="show"?"hide":"show"),f[m]()):f[u]()):(h=bn.exec(u),p=f.cur(),h?(d=parseFloat(h[2]),v=h[3]||(H.cssNumber[a]?"":"px"),v!=="px"&&(H.style(this,a,(d||1)+v),p=(d||1)/f.cur()*p,H.style(this,a,p+v)),h[1]&&(d=(h[1]==="-="?-1:1)*d+p),f.custom(p,d,v)):f.custom(p,u,""));return!0}var o=H.speed(t,n,i);return H.isEmptyObject(e)?this.each(o.complete,[!1]):(e=H.extend({},e),o.queue===!1?this.each(s):this.queue(o.queue,s))},stop:function(e,n,r){return typeof e!="string"&&(r=n,n=e,e=t),n&&e!==!1&&this.queue(e||"fx",[]),this.each(function(){function t(e,t,n){var i=t[n];H.removeData(e,n,!0),i.stop(r)}var n,i=!1,s=H.timers,o=H._data(this);r||H._unmark(!0,this);if(e==null)for(n in o)o[n]&&o[n].stop&&n.indexOf(".run")===n.length-4&&t(this,o,n);else o[n=e+".run"]&&o[n].stop&&t(this,o,n);for(n=s.length;n--;)s[n].elem===this&&(e==null||s[n].queue===e)&&(r?s[n](!0):s[n].saveState(),i=!0,s.splice(n,1));(!r||!i)&&H.dequeue(this,e)})}}),H.each({slideDown:i("show",1),slideUp:i("hide",1),slideToggle:i("toggle",1),fadeIn:{opacity:"show"},fadeOut:{opacity:"hide"},fadeToggle:{opacity:"toggle"}},function(e,t){H.fn[e]=function(e,n,r){return this.animate(t,e,n,r)}}),H.extend({speed:function(e,t,n){var r=e&&typeof e=="object"?H.extend({},e):{complete:n||!n&&t||H.isFunction(e)&&e,duration:e,easing:n&&t||t&&!H.isFunction(t)&&t};r.duration=H.fx.off?0:typeof r.duration=="number"?r.duration:r.duration in H.fx.speeds?H.fx.speeds[r.duration]:H.fx.speeds._default;if(r.queue==null||r.queue===!0)r.queue="fx";return r.old=r.complete,r.complete=function(e){H.isFunction(r.old)&&r.old.call(this),r.queue?H.dequeue(this,r.queue):e!==!1&&H._unmark(this)},r},easing:{linear:function(e){return e},swing:function(e){return-Math.cos(e*Math.PI)/2+.5}},timers:[],fx:function(e,t,n){this.options=t,this.elem=e,this.prop=n,t.orig=t.orig||{}}}),H.fx.prototype={update:function(){this.options.step&&this.options.step.call(this.elem,this.now,this),(H.fx.step[this.prop]||H.fx.step._default)(this)},cur:function(){if(this.elem[this.prop]==null||!!this.elem.style&&this.elem.style[this.prop]!=null){var e,t=H.css(this.elem,this.prop);return isNaN(e=parseFloat(t))?!t||t==="auto"?0:t:e}return this.elem[this.prop]},custom:function(e,n,r){function i(e){return s.step(e)}var s=this,u=H.fx;this.startTime=Sn||o(),this.end=n,this.now=this.start=e,this.pos=this.state=0,this.unit=r||this.unit||(H.cssNumber[this.prop]?"":"px"),i.queue=this.options.queue,i.elem=this.elem,i.saveState=function(){H._data(s.elem,"fxshow"+s.prop)===t&&(s.options.hide?H._data(s.elem,"fxshow"+s.prop,s.start):s.options.show&&H._data(s.elem,"fxshow"+s.prop,s.end))},i()&&H.timers.push(i)&&!wn&&(wn=setInterval(u.tick,u.interval))},show:function(){var e=H._data(this.elem,"fxshow"+this.prop);this.options.orig[this.prop]=e||H.style(this.elem,this.prop),this.options.show=!0,e!==t?this.custom(this.cur(),e):this.custom(this.prop==="width"||this.prop==="height"?1:0,this.cur()),H(this.elem).show()},hide:function(){this.options.orig[this.prop]=H._data(this.elem,"fxshow"+this.prop)||H.style(this.elem,this.prop),this.options.hide=!0,this.custom(this.cur(),0)},step:function(e){var t,n,r,i=Sn||o(),s=!0,u=this.elem,a=this.options;if(e||i>=a.duration+this.startTime){this.now=this.end,this.pos=this.state=1,this.update(),a.animatedProperties[this.prop]=!0;for(t in a.animatedProperties)a.animatedProperties[t]!==!0&&(s=!1);if(s){a.overflow!=null&&!H.support.shrinkWrapBlocks&&H.each(["","X","Y"],function(e,t){u.style["overflow"+t]=a.overflow[e]}),a.hide&&H(u).hide();if(a.hide||a.show)for(t in a.animatedProperties)H.style(u,t,a.orig[t]),H.removeData(u,"fxshow"+t,!0),H.removeData(u,"toggle"+t,!0);r=a.complete,r&&(a.complete=!1,r.call(u))}return!1}return a.duration==Infinity?this.now=i:(n=i-this.startTime,this.state=n/a.duration,this.pos=H.easing[a.animatedProperties[this.prop]](this.state,n,0,1,a.duration),this.now=this.start+(this.end-this.start)*this.pos),this.update(),!0}},H.extend(H.fx,{tick:function(){var e,t=H.timers,n=0;for(;n<t.length;n++)e=t[n],!e()&&t[n]===e&&t.splice(n--,1);t.length||H.fx.stop()},interval:13,stop:function(){clearInterval(wn),wn=null},speeds:{slow:600,fast:200,_default:400},step:{opacity:function(e){H.style(e.elem,"opacity",e.now)},_default:function(e){e.elem.style&&e.elem.style[e.prop]!=null?e.elem.style[e.prop]=e.now+e.unit:e.elem[e.prop]=e.now}}}),H.each(En.concat.apply([],En),function(e,t){t.indexOf("margin")&&(H.fx.step[t]=function(e){H.style(e.elem,t,Math.max(0,e.now)+e.unit)})}),H.expr&&H.expr.filters&&(H.expr.filters.animated=function(e){return H.grep(H.timers,function(t){return e===t.elem}).length});var xn,Tn=/^t(?:able|d|h)$/i,Nn=/^(?:body|html)$/i;"getBoundingClientRect"in _.documentElement?xn=function(e,t,r,i){try{i=e.getBoundingClientRect()}catch(s){}if(!i||!H.contains(r,e))return i?{top:i.top,left:i.left}:{top:0,left:0};var o=t.body,u=n(t),a=r.clientTop||o.clientTop||0,f=r.clientLeft||o.clientLeft||0,l=u.pageYOffset||H.support.boxModel&&r.scrollTop||o.scrollTop,c=u.pageXOffset||H.support.boxModel&&r.scrollLeft||o.scrollLeft,h=i.top+l-a,p=i.left+c-f;return{top:h,left:p}}:xn=function(e,t,n){var r,i=e.offsetParent,s=e,o=t.body,u=t.defaultView,a=u?u.getComputedStyle(e,null):e.currentStyle,f=e.offsetTop,l=e.offsetLeft;while((e=e.parentNode)&&e!==o&&e!==n){if(H.support.fixedPosition&&a.position==="fixed")break;r=u?u.getComputedStyle(e,null):e.currentStyle,f-=e.scrollTop,l-=e.scrollLeft,e===i&&(f+=e.offsetTop,l+=e.offsetLeft,H.support.doesNotAddBorder&&(!H.support.doesAddBorderForTableAndCells||!Tn.test(e.nodeName))&&(f+=parseFloat(r.borderTopWidth)||0,l+=parseFloat(r.borderLeftWidth)||0),s=i,i=e.offsetParent),H.support.subtractsBorderForOverflowNotVisible&&r.overflow!=="visible"&&(f+=parseFloat(r.borderTopWidth)||0,l+=parseFloat(r.borderLeftWidth)||0),a=r}if(a.position==="relative"||a.position==="static")f+=o.offsetTop,l+=o.offsetLeft;return H.support.fixedPosition&&a.position==="fixed"&&(f+=Math.max(n.scrollTop,o.scrollTop),l+=Math.max(n.scrollLeft,o.scrollLeft)),{top:f,left:l}},H.fn.offset=function(e){if(arguments.length)return e===t?this:this.each(function(t){H.offset.setOffset(this,e,t)});var n=this[0],r=n&&n.ownerDocument;return r?n===r.body?H.offset.bodyOffset(n):xn(n,r,r.documentElement):null},H.offset={bodyOffset:function(e){var t=e.offsetTop,n=e.offsetLeft;return H.support.doesNotIncludeMarginInBodyOffset&&(t+=parseFloat(H.css(e,"marginTop"))||0,n+=parseFloat(H.css(e,"marginLeft"))||0),{top:t,left:n}},setOffset:function(e,t,n){var r=H.css(e,"position");r==="static"&&(e.style.position="relative");var i=H(e),s=i.offset(),o=H.css(e,"top"),u=H.css(e,"left"),a=(r==="absolute"||r==="fixed")&&H.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),H.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)}},H.fn.extend({position:function(){if(!this[0])return null;var e=this[0],t=this.offsetParent(),n=this.offset(),r=Nn.test(t[0].nodeName)?{top:0,left:0}:t.offset();return n.top-=parseFloat(H.css(e,"marginTop"))||0,n.left-=parseFloat(H.css(e,"marginLeft"))||0,r.top+=parseFloat(H.css(t[0],"borderTopWidth"))||0,r.left+=parseFloat(H.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||_.body;while(e&&!Nn.test(e.nodeName)&&H.css(e,"position")==="static")e=e.offsetParent;return e})}}),H.each({scrollLeft:"pageXOffset",scrollTop:"pageYOffset"},function(e,r){var i=/Y/.test(r);H.fn[e]=function(s){return H.access(this,function(e,s,o){var u=n(e);if(o===t)return u?r in u?u[r]:H.support.boxModel&&u.document.documentElement[s]||u.document.body[s]:e[s];u?u.scrollTo(i?H(u).scrollLeft():o,i?o:H(u).scrollTop()):e[s]=o},e,s,arguments.length,null)}}),H.each({Height:"height",Width:"width"},function(e,n){var r="client"+e,i="scroll"+e,s="offset"+e;H.fn["inner"+e]=function(){var e=this[0];return e?e.style?parseFloat(H.css(e,n,"padding")):this[n]():null},H.fn["outer"+e]=function(e){var t=this[0];return t?t.style?parseFloat(H.css(t,n,e?"margin":"border")):this[n]():null},H.fn[n]=function(e){return H.access(this,function(e,n,o){var u,a,f,l;if(H.isWindow(e))return u=e.document,a=u.documentElement[r],H.support.boxModel&&a||u.body&&u.body[r]||a;if(e.nodeType===9)return u=e.documentElement,u[r]>=u[i]?u[r]:Math.max(e.body[i],u[i],e.body[s],u[s]);if(o===t)return f=H.css(e,n),l=parseFloat(f),H.isNumeric(l)?l:f;H(e).css(n,o)},n,e,arguments.length,null)}}),e.jQuery=e.$=H,typeof define=="function"&&define.amd&&define.amd.jQuery&&define("jquery",[],function(){return H})}(window),define("requireLib",function(){}),define("domReady",[],function(){function a(e){for(var t=0,r;r=e[t];t++)r(n)}function f(){var e=r,n=i;t&&(e.length&&(r=[],a(e)),s.resourcesDone&&n.length&&(i=[],a(n)))}function l(){t||(t=!0,u&&clearInterval(u),f())}function c(e){return t?e(n):r.push(e),c}var e=typeof window!="undefined"&&window.document,t=!e,n=e?document:null,r=[],i=[],s=requirejs||require||{},o=s.resourcesReady,u;return"resourcesReady"in s&&(s.resourcesReady=function(e){o&&o(e),e&&f()}),e&&(document.addEventListener?(document.addEventListener("DOMContentLoaded",l,!1),window.addEventListener("load",l,!1)):window.attachEvent&&(window.attachEvent("onload",l),self===self.top&&(u=setInterval(function(){try{document.body&&(document.documentElement.doScroll("left"),l())}catch(e){}},30))),document.readyState==="complete"&&l()),c.withResources=function(e){return t&&s.resourcesDone?e(n):i.push(e),c},c.version="1.0.0",c.load=function(e,t,n,r){r.isBuild?n(null):c(n)},c}),function(e){var t={},n=top!==self;e.respecEvents={pub:function(r){var i=Array.prototype.slice.call(arguments);i.shift(),n&&window.postMessage&&parent.postMessage({topic:r,args:i},"*"),$.each(t[r]||[],function(){this.apply(e,i)})},sub:function(e,n){return t[e]||(t[e]=[]),t[e].push(n),[e,n]},unsub:function(e){var n=e[0];t[n]&&$.each(t[n]||[],function(r){this==e[1]&&t[n].splice(r,1)})}}}(this),window.console&&(respecEvents.sub("warn",function(e){console.log("WARN: "+e)}),respecEvents.sub("error",function(e){console.log("ERROR: "+e)}),respecEvents.sub("start",function(e){respecConfig&&respecConfig.trace&&console.log(">>> began: "+e)}),respecEvents.sub("end",function(e){respecConfig&&respecConfig.trace&&console.log("<<< finished: "+e)}),respecEvents.sub("start-all",function(){console.log("RESPEC PROCESSING STARTED")}),respecEvents.sub("end-all",function(){console.log("RESPEC DONE!")})),define("core/base-runner",[],function(){return{runAll:function(e){var t=0;respecEvents.pub("start-all"),respecEvents.sub("start",function(){t++}),respecEvents.sub("end",function(){t--,t||respecEvents.pub("end-all"),document.respecDone=!0}),respecEvents.pub("start","core/base-runner"),e.shift(),"respecConfig"in window||(window.respecConfig={});var n=$("script"),r="";n.each(function(e,t){var n=t.getAttribute("src");if(!n||!$(t).hasClass("remove"))return;/\/js\//.test(n)&&(r=n.replace(/\/js\/.*/,"/js/"))}),respecConfig.respecBase=r,respecConfig.scheme=respecConfig.scheme?respecConfig.scheme:location.protocol.replace(":","").toLowerCase(),respecConfig.httpScheme=respecConfig.scheme==="https"?"https":"http";var i;i=function(){if(!e.length){if(respecConfig.postProcess)for(var t=0;t<respecConfig.postProcess.length;t++)respecConfig.postProcess[t].apply(this);respecConfig.afterEnd&&respecConfig.afterEnd.apply(window,Array.prototype.slice.call(arguments)),respecEvents.pub("end","core/base-runner");return}var n=e.shift();n.run?n.run.call(n,respecConfig,document,i,respecEvents):i()};if(respecConfig.preProcess)for(var s=0;s<respecConfig.preProcess.length;s++)respecConfig.preProcess[s].apply(this);i()}}}),define("core/override-configuration",[],function(){return{run:function(e,t,n,r){r.pub("start","core/override-configuration");if(location.search){var i=location.search.replace(/^\?/,"").split(";");for(var s=0,o=i.length;s<o;s++){var u=i[s].split("=",2),a=decodeURI(u[0]),f=decodeURI(u[1]).replace(/%3D/g,"=");f==="true"?f=!0:f==="false"?f=!1:f==="null"?f=null:/\[\]$/.test(a)&&(a=a.replace(/\[\]/,""),f=$.parseJSON(f)),e[a]=f}}r.pub("end","core/override-configuration"),n()}}}),define("core/default-root-attr",[],function(){return{run:function(e,t,n,r){r.pub("start","core/default-root-attr");var i=$(t.documentElement);i.attr("lang")||(i.attr("lang","en"),i.attr("dir")||i.attr("dir","ltr")),r.pub("end","core/default-root-attr"),n()}}}),function(){function n(e,n){return e[0][0]!=="!"?'<a href="'+f(n.href)+'"'+(n.title?' title="'+f(n.title)+'"':"")+">"+t.lexer(e[1])+"</a>":'<img src="'+f(n.href)+'" alt="'+f(e[1])+'"'+(n.title?' title="'+f(n.title)+'"':"")+">"}function s(){return i=r.pop()}function o(){switch(i.type){case"space":return"";case"hr":return"<hr>\n";case"heading":return"<h"+i.depth+">"+t.lexer(i.text)+"</h"+i.depth+">\n";case"code":return v.highlight&&(i.code=v.highlight(i.text,i.lang),i.code!=null&&i.code!==i.text&&(i.escaped=!0,i.text=i.code)),i.escaped||(i.text=f(i.text,!0)),"<pre><code"+(i.lang?' class="lang-'+i.lang+'"':"")+">"+i.text+"</code></pre>\n";case"blockquote_start":var e="";while(s().type!=="blockquote_end")e+=o();return"<blockquote>\n"+e+"</blockquote>\n";case"list_start":var n=i.ordered?"ol":"ul",e="";while(s().type!=="list_end")e+=o();return"<"+n+">\n"+e+"</"+n+">\n";case"list_item_start":var e="";while(s().type!=="list_item_end")e+=i.type==="text"?u():o();return"<li>"+e+"</li>\n";case"loose_item_start":var e="";while(s().type!=="list_item_end")e+=o();return"<li>"+e+"</li>\n";case"html":return!i.pre&&!v.pedantic?t.lexer(i.text):i.text;case"paragraph":return"<p>"+t.lexer(i.text)+"</p>\n";case"text":return"<p>"+u()+"</p>\n"}}function u(){var e=i.text,n;while((n=r[r.length-1])&&n.type==="text")e+="\n"+s().text;return t.lexer(e)}function a(e){r=e.reverse();var t="";while(s())t+=o();return r=null,i=null,t}function f(e,t){return e.replace(t?/&/g:/&(?!#?\w+;)/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function l(e){var t="",n=e.length,r=0,i;for(;r<n;r++)i=e.charCodeAt(r),Math.random()>.5&&(i="x"+i.toString(16)),t+="&#"+i+";";return t}function c(){var e="(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:/|@)\\b";return e}function h(e,t){return e=e.source,t=t||"",function n(r,i){return r?(i=i.source||i,i=i.replace(/(^|[^\[])\^/g,"$1"),e=e.replace(r,i),n):new RegExp(e,t)}}function p(){}function d(t,n){return g(n),a(e.lexer(t))}function g(n){n||(n=m);if(v===n)return;v=n,v.gfm?(e.fences=e.gfm.fences,e.paragraph=e.gfm.paragraph,t.text=t.gfm.text,t.url=t.gfm.url):(e.fences=e.normal.fences,e.paragraph=e.normal.paragraph,t.text=t.normal.text,t.url=t.normal.url),v.pedantic?(t.em=t.pedantic.em,t.strong=t.pedantic.strong):(t.em=t.normal.em,t.strong=t.normal.strong)}var e={newline:/^\n+/,code:/^( {4}[^\n]+\n*)+/,fences:p,hr:/^( *[-*_]){3,} *(?:\n+|$)/,heading:/^ *(#{1,6}) *([^\n]+?) *#* *(?:\n+|$)/,lheading:/^([^\n]+)\n *(=|-){3,} *\n*/,blockquote:/^( *>[^\n]+(\n[^\n]+)*\n*)+/,list:/^( *)(bull) [^\0]+?(?:hr|\n{2,}(?! )(?!\1bull )\n*|\s*$)/,html:/^ *(?:comment|closed|closing) *(?:\n{2,}|\s*$)/,def:/^ *\[([^\]]+)\]: *([^\s]+)(?: +["(]([^\n]+)[")])? *(?:\n+|$)/,paragraph:/^([^\n]+\n?(?!hr|heading|lheading|blockquote|tag|def))+\n*/,text:/^[^\n]+/};e.bullet=/(?:[*+-]|\d+\.)/,e.item=/^( *)(bull) [^\n]*(?:\n(?!\1bull )[^\n]*)*/,e.item=h(e.item,"gm")(/bull/g,e.bullet)(),e.list=h(e.list)(/bull/g,e.bullet)("hr",/\n+(?=(?: *[-*_]){3,} *(?:\n+|$))/)(),e.html=h(e.html)("comment",/<!--[^\0]*?-->/)("closed",/<(tag)[^\0]+?<\/\1>/)("closing",/<tag(?:"[^"]*"|'[^']*'|[^'">])*?>/)(/tag/g,c())(),e.paragraph=h(e.paragraph)("hr",e.hr)("heading",e.heading)("lheading",e.lheading)("blockquote",e.blockquote)("tag","<"+c())("def",e.def)(),e.normal={fences:e.fences,paragraph:e.paragraph},e.gfm={fences:/^ *(```|~~~) *(\w+)? *\n([^\0]+?)\s*\1 *(?:\n+|$)/,paragraph:/^/},e.gfm.paragraph=h(e.paragraph)("(?!","(?!"+e.gfm.fences.source.replace("\\1","\\2")+"|")(),e.lexer=function(t){var n=[];return n.links={},t=t.replace(/\r\n|\r/g,"\n").replace(/\t/g,"    "),e.token(t,n,!0)},e.token=function(t,n,r){var t=t.replace(/^ +$/gm,""),i,s,o,u,a,f,l;while(t){if(o=e.newline.exec(t))t=t.substring(o[0].length),o[0].length>1&&n.push({type:"space"});if(o=e.code.exec(t)){t=t.substring(o[0].length),o=o[0].replace(/^ {4}/gm,""),n.push({type:"code",text:v.pedantic?o:o.replace(/\n+$/,"")});continue}if(o=e.fences.exec(t)){t=t.substring(o[0].length),n.push({type:"code",lang:o[2],text:o[3]});continue}if(o=e.heading.exec(t)){t=t.substring(o[0].length),n.push({type:"heading",depth:o[1].length,text:o[2]});continue}if(o=e.lheading.exec(t)){t=t.substring(o[0].length),n.push({type:"heading",depth:o[2]==="="?1:2,text:o[1]});continue}if(o=e.hr.exec(t)){t=t.substring(o[0].length),n.push({type:"hr"});continue}if(o=e.blockquote.exec(t)){t=t.substring(o[0].length),n.push({type:"blockquote_start"}),o=o[0].replace(/^ *> ?/gm,""),e.token(o,n,r),n.push({type:"blockquote_end"});continue}if(o=e.list.exec(t)){t=t.substring(o[0].length),n.push({type:"list_start",ordered:isFinite(o[2])}),o=o[0].match(e.item),i=!1,l=o.length,f=0;for(;f<l;f++)u=o[f],a=u.length,u=u.replace(/^ *([*+-]|\d+\.) +/,""),~u.indexOf("\n ")&&(a-=u.length,u=v.pedantic?u.replace(/^ {1,4}/gm,""):u.replace(new RegExp("^ {1,"+a+"}","gm"),"")),s=i||/\n\n(?!\s*$)/.test(u),f!==l-1&&(i=u[u.length-1]==="\n",s||(s=i)),n.push({type:s?"loose_item_start":"list_item_start"}),e.token(u,n),n.push({type:"list_item_end"});n.push({type:"list_end"});continue}if(o=e.html.exec(t)){t=t.substring(o[0].length),n.push({type:v.sanitize?"paragraph":"html",pre:o[1]==="pre",text:o[0]});continue}if(r&&(o=e.def.exec(t))){t=t.substring(o[0].length),n.links[o[1].toLowerCase()]={href:o[2],title:o[3]};continue}if(r&&(o=e.paragraph.exec(t))){t=t.substring(o[0].length),n.push({type:"paragraph",text:o[0]});continue}if(o=e.text.exec(t)){t=t.substring(o[0].length),n.push({type:"text",text:o[0]});continue}}return n};var t={escape:/^\\([\\`*{}\[\]()#+\-.!_>])/,autolink:/^<([^ >]+(@|:\/)[^ >]+)>/,url:p,tag:/^<!--[^\0]*?-->|^<\/?\w+(?:"[^"]*"|'[^']*'|[^'">])*?>/,link:/^!?\[(inside)\]\(href\)/,reflink:/^!?\[(inside)\]\s*\[([^\]]*)\]/,nolink:/^!?\[((?:\[[^\]]*\]|[^\[\]])*)\]/,strong:/^__([^\0]+?)__(?!_)|^\*\*([^\0]+?)\*\*(?!\*)/,em:/^\b_((?:__|[^\0])+?)_\b|^\*((?:\*\*|[^\0])+?)\*(?!\*)/,code:/^(`+)([^\0]*?[^`])\1(?!`)/,br:/^ {2,}\n(?!\s*$)/,text:/^[^\0]+?(?=[\\<!\[_*`]| {2,}\n|$)/};t._linkInside=/(?:\[[^\]]*\]|[^\]]|\](?=[^\[]*\]))*/,t._linkHref=/\s*<?([^\s]*?)>?(?:\s+['"]([^\0]*?)['"])?\s*/,t.link=h(t.link)("inside",t._linkInside)("href",t._linkHref)(),t.reflink=h(t.reflink)("inside",t._linkInside)(),t.normal={url:t.url,strong:t.strong,em:t.em,text:t.text},t.pedantic={strong:/^__(?=\S)([^\0]*?\S)__(?!_)|^\*\*(?=\S)([^\0]*?\S)\*\*(?!\*)/,em:/^_(?=\S)([^\0]*?\S)_(?!_)|^\*(?=\S)([^\0]*?\S)\*(?!\*)/},t.gfm={url:/^(https?:\/\/[^\s]+[^.,:;"')\]\s])/,text:/^[^\0]+?(?=[\\<!\[_*`]|https?:\/\/| {2,}\n|$)/},t.lexer=function(e){var i="",s=r.links,o,u,a,c;while(e){if(c=t.escape.exec(e)){e=e.substring(c[0].length),i+=c[1];continue}if(c=t.autolink.exec(e)){e=e.substring(c[0].length),c[2]==="@"?(u=c[1][6]===":"?l(c[1].substring(7)):l(c[1]),a=l("mailto:")+u):(u=f(c[1]),a=u),i+='<a href="'+a+'">'+u+"</a>";continue}if(c=t.url.exec(e)){e=e.substring(c[0].length),u=f(c[1]),a=u,i+='<a href="'+a+'">'+u+"</a>";continue}if(c=t.tag.exec(e)){e=e.substring(c[0].length),i+=v.sanitize?f(c[0]):c[0];continue}if(c=t.link.exec(e)){e=e.substring(c[0].length),i+=n(c,{href:c[2],title:c[3]});continue}if((c=t.reflink.exec(e))||(c=t.nolink.exec(e))){e=e.substring(c[0].length),o=(c[2]||c[1]).replace(/\s+/g," "),o=s[o.toLowerCase()];if(!o||!o.href){i+=c[0][0],e=c[0].substring(1)+e;continue}i+=n(c,o);continue}if(c=t.strong.exec(e)){e=e.substring(c[0].length),i+="<strong>"+t.lexer(c[2]||c[1])+"</strong>";continue}if(c=t.em.exec(e)){e=e.substring(c[0].length),i+="<em>"+t.lexer(c[2]||c[1])+"</em>";continue}if(c=t.code.exec(e)){e=e.substring(c[0].length),i+="<code>"+f(c[2],!0)+"</code>";continue}if(c=t.br.exec(e)){e=e.substring(c[0].length),i+="<br>";continue}if(c=t.text.exec(e)){e=e.substring(c[0].length),i+=f(c[0]);continue}}return i};var r,i;p.exec=p;var v,m;d.options=d.setOptions=function(e){return m=e,g(e),d},d.setOptions({gfm:!0,pedantic:!1,sanitize:!1,highlight:null}),d.parser=function(e,t){return g(t),a(e)},d.lexer=function(t,n){return g(n),e.lexer(t)},d.parse=d,typeof module!="undefined"?module.exports=d:this.marked=d}.call(function(){return this||(typeof window!="undefined"?window:global)}()),define("core/marked",function(){}),define("core/markdown",["core/marked"],function(){function e(e){function s(e){return parseInt(e.tagName.charAt(1))}function o(e){var t;while(e>0){e--,t=n[e];if(t)return t}}function u(e){e=e.firstChild;while(e){if(i.test(e.tagName))return e;e=e.nextSibling}return null}function a(t){var i=e.createElement("section"),u=s(t);i.appendChild(t),o(u).appendChild(i),n[u]=i,n.length=u+1,r=i}function f(e,t){var n=u(e),i=n?s(n):1,a=o(i);n&&e.removeChild(n),e.appendChild(t(e)),n&&e.insertBefore(n,e.firstChild),a.appendChild(e),r=a}function l(e){r.appendChild(e)}function c(){return t}var t=e.createDocumentFragment(),n=[t],r=t,i=/H[1-6]/;return{addHeader:a,addSection:f,addElement:l,getRoot:c}}return marked.setOptions({gfm:!1,pedantic:!1,sanitize:!1}),{toHTML:function(e){return e=e.replace(/&gt;/g,">"),e=this.removeLeftPadding(e),marked(e)},removeLeftPadding:function(e){var t=e.match(/\n[ ]+\S/g),n,r;if(t){r=t[0].length-2;for(var i=0,s=t.length;i<s;i++){n=t[i].length-2;if(typeof r=="undefined"||r>n)r=n}var o=new RegExp("\n[ ]{0,"+r+"}","g");e=e.replace(o,"\n")}return e},processBody:function(e){var t=e.createDocumentFragment(),n=e.createElement("div"),r;n.innerHTML=this.toHTML(e.body.innerHTML);while(r=n.firstChild)t.appendChild(r);return t},processSections:function(e){var t=this;$("section",e).each(function(){this.innerHTML=t.toHTML(this.innerHTML)})},processIssuesNotesAndReqs:function(e){var t=e.createElement("div"),n=this;$(".issue, .note, .req",e).each(function(){t.innerHTML=n.toHTML(this.innerHTML),this.innerHTML="";var e=t.firstChild;while(e.firstChild)this.appendChild(e.firstChild)})},structure:function(t,n){function r(t){var i,s,o=e(n);while(i=t.firstChild){if(i.nodeType!==1){t.removeChild(i);continue}s=i.tagName.toLowerCase();switch(s){case"h1":case"h2":case"h3":case"h4":case"h5":case"h6":o.addHeader(i);break;case"section":o.addSection(i,r);break;default:o.addElement(i)}}return o.getRoot()}return r(t)},run:function(e,t,n,r){r.pub("start","core/markdown");if(e.format==="markdown"){this.processSections(t);var i=this.structure(this.processBody(t),t);t.body.innerHTML="",t.body.appendChild(i)}r.pub("end","core/markdown"),n()}}}),function(){var e=["Msxml2.XMLHTTP","Microsoft.XMLHTTP","Msxml2.XMLHTTP.4.0"],t=/^\s*<\?xml(\s)+version=[\'\"](\d)*.(\d)*[\'\"](\s)*\?>/im,n=/<body[^>]*>\s*([\s\S]+)\s*<\/body>/im,r=typeof location!="undefined"&&location.href,i=r&&location.protocol&&location.protocol.replace(/\:/,""),s=r&&location.hostname,o=r&&(location.port||void 0),u=[];define("text",[],function(){var a,f;return a={version:"1.0.8",strip:function(e){if(e){var e=e.replace(t,""),r=e.match(n);r&&(e=r[1])}else e="";return e},jsEscape:function(e){return e.replace(/(['\\])/g,"\\$1").replace(/[\f]/g,"\\f").replace(/[\b]/g,"\\b").replace(/[\n]/g,"\\n").replace(/[\t]/g,"\\t").replace(/[\r]/g,"\\r")},createXhr:function(){var t,n,r;if(typeof XMLHttpRequest!="undefined")return new XMLHttpRequest;if(typeof ActiveXObject!="undefined")for(n=0;n<3;n++){r=e[n];try{t=new ActiveXObject(r)}catch(i){}if(t){e=[r];break}}return t},parseName:function(e){var t=!1,n=e.indexOf("."),r=e.substring(0,n),e=e.substring(n+1,e.length),n=e.indexOf("!");return n!==-1&&(t=e.substring(n+1,e.length),t=t==="strip",e=e.substring(0,n)),{moduleName:r,ext:e,strip:t}},xdRegExp:/^((\w+)\:)?\/\/([^\/\\]+)/,useXhr:function(e,t,n,r){var i=a.xdRegExp.exec(e),s;return i?(e=i[2],i=i[3],i=i.split(":"),s=i[1],i=i[0],(!e||e===t)&&(!i||i===n)&&(!s&&!i||s===r)):!0},finishLoad:function(e,t,n,r,i){n=t?a.strip(n):n,i.isBuild&&(u[e]=n),r(n)},load:function(e,t,n,u){if(u.isBuild&&!u.inlineText)n();else{var f=a.parseName(e),l=f.moduleName+"."+f.ext,c=t.toUrl(l),h=u&&u.text&&u.text.useXhr||a.useXhr;!r||h(c,i,s,o)?a.get(c,function(t){a.finishLoad(e,f.strip,t,n,u)}):t([l],function(e){a.finishLoad(f.moduleName+"."+f.ext,f.strip,e,n,u)})}},write:function(e,t,n){if(u.hasOwnProperty(t)){var r=a.jsEscape(u[t]);n.asModule(e+"!"+t,"define(function () { return '"+r+"';});\n")}},writeFile:function(e,t,n,r,i){var t=a.parseName(t),s=t.moduleName+"."+t.ext,o=n.toUrl(t.moduleName+"."+t.ext)+".js";a.load(s,n,function(){var t=function(e){return r(o,e)};t.asModule=function(e,t){return r.asModule(e,o,t)},a.write(e,s,t,i)},i)}},a.createXhr()?a.get=function(e,t){var n=a.createXhr();n.open("GET",e,!0),n.onreadystatechange=function(){n.readyState===4&&t(n.responseText)},n.send(null)}:typeof process!="undefined"&&process.versions&&process.versions.node?(f=require.nodeRequire("fs"),a.get=function(e,t){var n=f.readFileSync(e,"utf8");n.indexOf("")===0&&(n=n.substring(1)),t(n)}):typeof Packages!="undefined"&&(a.get=function(e,t){var n=new java.io.File(e),r=java.lang.System.getProperty("line.separator"),n=new java.io.BufferedReader(new java.io.InputStreamReader(new java.io.FileInputStream(n),"utf-8")),i,s,o="";try{i=new java.lang.StringBuffer,(s=n.readLine())&&s.length()&&s.charAt(0)===65279&&(s=s.substring(1));for(i.append(s);(s=n.readLine())!==null;)i.append(r),i.append(s);o=String(i.toString())}finally{n.close()}t(o)}),a})}(),define("text!core/css/respec2.css",[],function(){return'/*****************************************************************\n * ReSpec 3 CSS\n * Robin Berjon - http://berjon.com/\n *****************************************************************/\n\n/* --- INLINES --- */\nem.rfc2119 { \n    text-transform:     lowercase;\n    font-variant:       small-caps;\n    font-style:         normal;\n    color:              #900;\n}\n\nh1 acronym, h2 acronym, h3 acronym, h4 acronym, h5 acronym, h6 acronym, a acronym,\nh1 abbr, h2 abbr, h3 abbr, h4 abbr, h5 abbr, h6 abbr, a abbr {\n    border: none;\n}\n\ndfn {\n    font-weight:    bold;\n}\n\na.internalDFN {\n    color:  inherit;\n    border-bottom:  1px solid #99c;\n    text-decoration:    none;\n}\n\na.externalDFN {\n    color:  inherit;\n    border-bottom:  1px dotted #ccc;\n    text-decoration:    none;\n}\n\na.bibref {\n    text-decoration:    none;\n}\n\ncite .bibref {\n    font-style: normal;\n}\n\ncode {\n    color:  #ff4500;\n}\n\n/* --- TOC --- */\n.toc a, .tof a {\n    text-decoration:    none;\n}\n\na .secno, a .figno {\n    color:  #000;\n}\n\nul.tof, ol.tof {\n    list-style: none outside none;\n}\n\n.caption {\n    margin-top: 0.5em;\n    font-style:   italic;\n}\n\n/* --- TABLE --- */\ntable.simple {\n    border-spacing: 0;\n    border-collapse:    collapse;\n    border-bottom:  3px solid #005a9c;\n}\n\n.simple th {\n    background: #005a9c;\n    color:  #fff;\n    padding:    3px 5px;\n    text-align: left;\n}\n\n.simple th[scope="row"] {\n    background: inherit;\n    color:  inherit;\n    border-top: 1px solid #ddd;\n}\n\n.simple td {\n    padding:    3px 10px;\n    border-top: 1px solid #ddd;\n}\n\n.simple tr:nth-child(even) {\n    background: #f0f6ff;\n}\n\n/* --- DL --- */\n.section dd > p:first-child {\n    margin-top: 0;\n}\n\n.section dd > p:last-child {\n    margin-bottom: 0;\n}\n\n.section dd {\n    margin-bottom:  1em;\n}\n\n.section dl.attrs dd, .section dl.eldef dd {\n    margin-bottom:  0;\n}\n'}),define("core/style",["text!core/css/respec2.css"],function(e){return{run:function(t,n,r,i){i.pub("start","core/style"),t.noReSpecCSS||$("<style/>").appendTo($("head",$(n))).text(e),i.pub("end","core/style"),r()}}}),define("core/utils",[],function(){var e={run:function(e,t,n,r){r.pub("start","w3c/utils"),r.pub("end","w3c/utils"),n()},joinAnd:function(e,t){if(!e||!e.length)return"";t=t||function(e){return e};var n="";if(e.length===1)return t(e[0],0);for(var r=0,i=e.length;r<i;r++)r>0&&(i===2?n+=" ":n+=", ",r==i-1&&(n+="and ")),n+=t(e[r],r);return n},xmlEscape:function(e){return e.replace(/&/g,"&amp;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/</g,"&lt;")},norm:function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/).join(" ")},concatDate:function(e,t){return t||(t=""),""+e.getFullYear()+t+this.lead0(e.getMonth()+1)+t+this.lead0(e.getDate())},lead0:function(e){return e=""+e,e.length==1?"0"+e:e},parseSimpleDate:function(e){return new Date(e.substr(0,4),e.substr(5,2)-1,e.substr(8,2))},parseLastModified:function(e){return e?new Date(Date.parse(e)):new Date},humanMonths:["January","February","March","April","May","June","July","August","September","October","November","December"],humanDate:function(e){return e instanceof Date||(e=this.parseSimpleDate(e)),this.lead0(e.getDate())+" "+this.humanMonths[e.getMonth()]+" "+e.getFullYear()},linkCSS:function(e,t){$.isArray(t)||(t=[t]),$.each(t,function(t,n){$("head",e).append($("<link/>").attr({rel:"stylesheet",href:n}))})},runTransforms:function(e,t){var n=[this,e],r=Array.prototype.slice.call(arguments);r.shift(),r.shift(),n=n.concat(r);if(t){var i=t.split(/\s+/);for(var s=0;s<i.length;s++){var o=i[s];if(window[o])try{e=window[o].apply(this,n)}catch(u){respecEvents.pub("warn","call to "+o+"() failed with "+u)}}}return e}};return e}),$.fn.renameElement=function(e){var t=[];return this.each(function(){var n=$(this.ownerDocument.createElement(e));for(var r=0,i=this.attributes.length;r<i;r++){var s=this.attributes[r];n[0].setAttributeNS(s.namespaceURI,s.name,s.value)}$(this).contents().appendTo(n),$(this).replaceWith(n),t.push(n[0])}),$(t)},$.fn.dfnTitle=function(){var e;return this.attr("title")?e=this.attr("title"):this.contents().length==1&&this.children("abbr, acronym").length==1&&this.find(":first-child").attr("title")?e=this.find(":first-child").attr("title"):e=this.text(),e.toLowerCase().replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/).join(" ")},$.fn.makeID=function(e,t,n){if(this.attr("id"))return this.attr("id");t||(t=this.attr("title")?this.attr("title"):this.text()),t=t.replace(/^\s+/,"").replace(/\s+$/,"");var r=n?t:t.toLowerCase();r=r.split(/[^\-.0-9a-z_]+/i).join("-").replace(/^-+/,"").replace(/-+$/,""),r.length>0&&/^[^a-z]/i.test(r)&&(r="x"+r),r.length===0&&(r="generatedID"),e&&(r=e+"-"+r);var i=1,s=this[0].ownerDocument;if($("#"+r,s).length){while($("#"+r+"-"+i,s).length)i++;r+="-"+i}return this.attr("id",r),r},$.fn.allTextNodes=function(e){function s(e){if(e.nodeType===1&&n[e.localName.toLowerCase()])return;if(e.nodeType===3)t.push(e);else for(var r=0,i=e.childNodes.length;r<i;++r)s(e.childNodes[r])}var t=[],n={};for(var r=0,i=e.length;r<i;r++)n[e[r]]=!0;return s(this[0]),t},define("w3c/style",["core/utils"],function(e){return{run:function(t,n,r,i){i.pub("start","w3c/style"),t.specStatus||i.pub("error","Configuration 'specStatus' is not set, required for w3c/style");var s=t.specStatus;if(s==="FPWD"||s==="LC"||s==="WD-NOTE"||s==="LC-NOTE")s="WD";s==="FPWD-NOTE"&&(s="WG-NOTE");if(s==="finding"||s==="draft-finding")s="base";var o="http"!==t.scheme.substring(0,4)?"http://":"//";s==="unofficial"?o+="www.w3.org/StyleSheets/TR/w3c-unofficial":s==="base"?o+="www.w3.org/StyleSheets/TR/base":s==="CG-DRAFT"||s==="CG-FINAL"||s==="BG-DRAFT"||s==="BG-FINAL"?o+="www.w3.org/community/src/css/spec/"+s.toLowerCase()+".css":o+="www.w3.org/StyleSheets/TR/W3C-"+s,e.linkCSS(n,o),i.pub("end","w3c/style"),r()}}});var Handlebars={};Handlebars.VERSION="1.0.beta.6",Handlebars.helpers={},Handlebars.partials={},Handlebars.registerHelper=function(e,t,n){n&&(t.not=n),this.helpers[e]=t},Handlebars.registerPartial=function(e,t){this.partials[e]=t},Handlebars.registerHelper("helperMissing",function(e){if(arguments.length===2)return undefined;throw new Error("Could not find property '"+e+"'")});var toString=Object.prototype.toString,functionType="[object Function]";Handlebars.registerHelper("blockHelperMissing",function(e,t){var n=t.inverse||function(){},r=t.fn,i="",s=toString.call(e);s===functionType&&(e=e.call(this));if(e===!0)return r(this);if(e===!1||e==null)return n(this);if(s==="[object Array]"){if(e.length>0)for(var o=0,u=e.length;o<u;o++)i+=r(e[o]);else i=n(this);return i}return r(e)}),Handlebars.registerHelper("each",function(e,t){var n=t.fn,r=t.inverse,i="";if(e&&e.length>0)for(var s=0,o=e.length;s<o;s++)i+=n(e[s]);else i=r(this);return i}),Handlebars.registerHelper("if",function(e,t){var n=toString.call(e);return n===functionType&&(e=e.call(this)),!e||Handlebars.Utils.isEmpty(e)?t.inverse(this):t.fn(this)}),Handlebars.registerHelper("unless",function(e,t){var n=t.fn,r=t.inverse;return t.fn=r,t.inverse=n,Handlebars.helpers["if"].call(this,e,t)}),Handlebars.registerHelper("with",function(e,t){return t.fn(e)}),Handlebars.registerHelper("log",function(e){Handlebars.log(e)});var handlebars=function(){var e={trace:function(){},yy:{},symbols_:{error:2,root:3,program:4,EOF:5,statements:6,simpleInverse:7,statement:8,openInverse:9,closeBlock:10,openBlock:11,mustache:12,partial:13,CONTENT:14,COMMENT:15,OPEN_BLOCK:16,inMustache:17,CLOSE:18,OPEN_INVERSE:19,OPEN_ENDBLOCK:20,path:21,OPEN:22,OPEN_UNESCAPED:23,OPEN_PARTIAL:24,params:25,hash:26,param:27,STRING:28,INTEGER:29,BOOLEAN:30,hashSegments:31,hashSegment:32,ID:33,EQUALS:34,pathSegments:35,SEP:36,$accept:0,$end:1},terminals_:{2:"error",5:"EOF",14:"CONTENT",15:"COMMENT",16:"OPEN_BLOCK",18:"CLOSE",19:"OPEN_INVERSE",20:"OPEN_ENDBLOCK",22:"OPEN",23:"OPEN_UNESCAPED",24:"OPEN_PARTIAL",28:"STRING",29:"INTEGER",30:"BOOLEAN",33:"ID",34:"EQUALS",36:"SEP"},productions_:[0,[3,2],[4,3],[4,1],[4,0],[6,1],[6,2],[8,3],[8,3],[8,1],[8,1],[8,1],[8,1],[11,3],[9,3],[10,3],[12,3],[12,3],[13,3],[13,4],[7,2],[17,3],[17,2],[17,2],[17,1],[25,2],[25,1],[27,1],[27,1],[27,1],[27,1],[26,1],[31,2],[31,1],[32,3],[32,3],[32,3],[32,3],[21,1],[35,3],[35,1]],performAction:function(t,n,r,i,s,o,u){var a=o.length-1;switch(s){case 1:return o[a-1];case 2:this.$=new i.ProgramNode(o[a-2],o[a]);break;case 3:this.$=new i.ProgramNode(o[a]);break;case 4:this.$=new i.ProgramNode([]);break;case 5:this.$=[o[a]];break;case 6:o[a-1].push(o[a]),this.$=o[a-1];break;case 7:this.$=new i.InverseNode(o[a-2],o[a-1],o[a]);break;case 8:this.$=new i.BlockNode(o[a-2],o[a-1],o[a]);break;case 9:this.$=o[a];break;case 10:this.$=o[a];break;case 11:this.$=new i.ContentNode(o[a]);break;case 12:this.$=new i.CommentNode(o[a]);break;case 13:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 14:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 15:this.$=o[a-1];break;case 16:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1]);break;case 17:this.$=new i.MustacheNode(o[a-1][0],o[a-1][1],!0);break;case 18:this.$=new i.PartialNode(o[a-1]);break;case 19:this.$=new i.PartialNode(o[a-2],o[a-1]);break;case 20:break;case 21:this.$=[[o[a-2]].concat(o[a-1]),o[a]];break;case 22:this.$=[[o[a-1]].concat(o[a]),null];break;case 23:this.$=[[o[a-1]],o[a]];break;case 24:this.$=[[o[a]],null];break;case 25:o[a-1].push(o[a]),this.$=o[a-1];break;case 26:this.$=[o[a]];break;case 27:this.$=o[a];break;case 28:this.$=new i.StringNode(o[a]);break;case 29:this.$=new i.IntegerNode(o[a]);break;case 30:this.$=new i.BooleanNode(o[a]);break;case 31:this.$=new i.HashNode(o[a]);break;case 32:o[a-1].push(o[a]),this.$=o[a-1];break;case 33:this.$=[o[a]];break;case 34:this.$=[o[a-2],o[a]];break;case 35:this.$=[o[a-2],new i.StringNode(o[a])];break;case 36:this.$=[o[a-2],new i.IntegerNode(o[a])];break;case 37:this.$=[o[a-2],new i.BooleanNode(o[a])];break;case 38:this.$=new i.IdNode(o[a]);break;case 39:o[a-2].push(o[a]),this.$=o[a-2];break;case 40:this.$=[o[a]]}},table:[{3:1,4:2,5:[2,4],6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],24:[1,15]},{1:[3]},{5:[1,16]},{5:[2,3],7:17,8:18,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,19],20:[2,3],22:[1,13],23:[1,14],24:[1,15]},{5:[2,5],14:[2,5],15:[2,5],16:[2,5],19:[2,5],20:[2,5],22:[2,5],23:[2,5],24:[2,5]},{4:20,6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],24:[1,15]},{4:21,6:3,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,4],22:[1,13],23:[1,14],24:[1,15]},{5:[2,9],14:[2,9],15:[2,9],16:[2,9],19:[2,9],20:[2,9],22:[2,9],23:[2,9],24:[2,9]},{5:[2,10],14:[2,10],15:[2,10],16:[2,10],19:[2,10],20:[2,10],22:[2,10],23:[2,10],24:[2,10]},{5:[2,11],14:[2,11],15:[2,11],16:[2,11],19:[2,11],20:[2,11],22:[2,11],23:[2,11],24:[2,11]},{5:[2,12],14:[2,12],15:[2,12],16:[2,12],19:[2,12],20:[2,12],22:[2,12],23:[2,12],24:[2,12]},{17:22,21:23,33:[1,25],35:24},{17:26,21:23,33:[1,25],35:24},{17:27,21:23,33:[1,25],35:24},{17:28,21:23,33:[1,25],35:24},{21:29,33:[1,25],35:24},{1:[2,1]},{6:30,8:4,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],22:[1,13],23:[1,14],24:[1,15]},{5:[2,6],14:[2,6],15:[2,6],16:[2,6],19:[2,6],20:[2,6],22:[2,6],23:[2,6],24:[2,6]},{17:22,18:[1,31],21:23,33:[1,25],35:24},{10:32,20:[1,33]},{10:34,20:[1,33]},{18:[1,35]},{18:[2,24],21:40,25:36,26:37,27:38,28:[1,41],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35:24},{18:[2,38],28:[2,38],29:[2,38],30:[2,38],33:[2,38],36:[1,46]},{18:[2,40],28:[2,40],29:[2,40],30:[2,40],33:[2,40],36:[2,40]},{18:[1,47]},{18:[1,48]},{18:[1,49]},{18:[1,50],21:51,33:[1,25],35:24},{5:[2,2],8:18,9:5,11:6,12:7,13:8,14:[1,9],15:[1,10],16:[1,12],19:[1,11],20:[2,2],22:[1,13],23:[1,14],24:[1,15]},{14:[2,20],15:[2,20],16:[2,20],19:[2,20],22:[2,20],23:[2,20],24:[2,20]},{5:[2,7],14:[2,7],15:[2,7],16:[2,7],19:[2,7],20:[2,7],22:[2,7],23:[2,7],24:[2,7]},{21:52,33:[1,25],35:24},{5:[2,8],14:[2,8],15:[2,8],16:[2,8],19:[2,8],20:[2,8],22:[2,8],23:[2,8],24:[2,8]},{14:[2,14],15:[2,14],16:[2,14],19:[2,14],20:[2,14],22:[2,14],23:[2,14],24:[2,14]},{18:[2,22],21:40,26:53,27:54,28:[1,41],29:[1,42],30:[1,43],31:39,32:44,33:[1,45],35:24},{18:[2,23]},{18:[2,26],28:[2,26],29:[2,26],30:[2,26],33:[2,26]},{18:[2,31],32:55,33:[1,56]},{18:[2,27],28:[2,27],29:[2,27],30:[2,27],33:[2,27]},{18:[2,28],28:[2,28],29:[2,28],30:[2,28],33:[2,28]},{18:[2,29],28:[2,29],29:[2,29],30:[2,29],33:[2,29]},{18:[2,30],28:[2,30],29:[2,30],30:[2,30],33:[2,30]},{18:[2,33],33:[2,33]},{18:[2,40],28:[2,40],29:[2,40],30:[2,40],33:[2,40],34:[1,57],36:[2,40]},{33:[1,58]},{14:[2,13],15:[2,13],16:[2,13],19:[2,13],20:[2,13],22:[2,13],23:[2,13],24:[2,13]},{5:[2,16],14:[2,16],15:[2,16],16:[2,16],19:[2,16],20:[2,16],22:[2,16],23:[2,16],24:[2,16]},{5:[2,17],14:[2,17],15:[2,17],16:[2,17],19:[2,17],20:[2,17],22:[2,17],23:[2,17],24:[2,17]},{5:[2,18],14:[2,18],15:[2,18],16:[2,18],19:[2,18],20:[2,18],22:[2,18],23:[2,18],24:[2,18]},{18:[1,59]},{18:[1,60]},{18:[2,21]},{18:[2,25],28:[2,25],29:[2,25],30:[2,25],33:[2,25]},{18:[2,32],33:[2,32]},{34:[1,57]},{21:61,28:[1,62],29:[1,63],30:[1,64],33:[1,25],35:24},{18:[2,39],28:[2,39],29:[2,39],30:[2,39],33:[2,39],36:[2,39]},{5:[2,19],14:[2,19],15:[2,19],16:[2,19],19:[2,19],20:[2,19],22:[2,19],23:[2,19],24:[2,19]},{5:[2,15],14:[2,15],15:[2,15],16:[2,15],19:[2,15],20:[2,15],22:[2,15],23:[2,15],24:[2,15]},{18:[2,34],33:[2,34]},{18:[2,35],33:[2,35]},{18:[2,36],33:[2,36]},{18:[2,37],33:[2,37]}],defaultActions:{16:[2,1],37:[2,23],53:[2,21]},parseError:function(t,n){throw new Error(t)},parse:function(t){function d(e){r.length=r.length-2*e,i.length=i.length-e,s.length=s.length-e}function v(){var e;return e=n.lexer.lex()||1,typeof e!="number"&&(e=n.symbols_[e]||e),e}var n=this,r=[0],i=[null],s=[],o=this.table,u="",a=0,f=0,l=0,c=2,h=1;this.lexer.setInput(t),this.lexer.yy=this.yy,this.yy.lexer=this.lexer,typeof this.lexer.yylloc=="undefined"&&(this.lexer.yylloc={});var p=this.lexer.yylloc;s.push(p),typeof this.yy.parseError=="function"&&(this.parseError=this.yy.parseError);var m,g,y,b,w,E,S={},x,T,N,C;for(;;){y=r[r.length-1],this.defaultActions[y]?b=this.defaultActions[y]:(m==null&&(m=v()),b=o[y]&&o[y][m]);if(typeof b=="undefined"||!b.length||!b[0])if(!l){C=[];for(x in o[y])this.terminals_[x]&&x>2&&C.push("'"+this.terminals_[x]+"'");var k="";this.lexer.showPosition?k="Parse error on line "+(a+1)+":\n"+this.lexer.showPosition()+"\nExpecting "+C.join(", ")+", got '"+this.terminals_[m]+"'":k="Parse error on line "+(a+1)+": Unexpected "+(m==1?"end of input":"'"+(this.terminals_[m]||m)+"'"),this.parseError(k,{text:this.lexer.match,token:this.terminals_[m]||m,line:this.lexer.yylineno,loc:p,expected:C})}if(b[0]instanceof Array&&b.length>1)throw new Error("Parse Error: multiple actions possible at state: "+y+", token: "+m);switch(b[0]){case 1:r.push(m),i.push(this.lexer.yytext),s.push(this.lexer.yylloc),r.push(b[1]),m=null,g?(m=g,g=null):(f=this.lexer.yyleng,u=this.lexer.yytext,a=this.lexer.yylineno,p=this.lexer.yylloc,l>0&&l--);break;case 2:T=this.productions_[b[1]][1],S.$=i[i.length-T],S._$={first_line:s[s.length-(T||1)].first_line,last_line:s[s.length-1].last_line,first_column:s[s.length-(T||1)].first_column,last_column:s[s.length-1].last_column},E=this.performAction.call(S,u,f,a,this.yy,b[1],i,s);if(typeof E!="undefined")return E;T&&(r=r.slice(0,-1*T*2),i=i.slice(0,-1*T),s=s.slice(0,-1*T)),r.push(this.productions_[b[1]][0]),i.push(S.$),s.push(S._$),N=o[r[r.length-2]][r[r.length-1]],r.push(N);break;case 3:return!0}}return!0}},t=function(){var e={EOF:1,parseError:function(t,n){if(!this.yy.parseError)throw new Error(t);this.yy.parseError(t,n)},setInput:function(e){return this._input=e,this._more=this._less=this.done=!1,this.yylineno=this.yyleng=0,this.yytext=this.matched=this.match="",this.conditionStack=["INITIAL"],this.yylloc={first_line:1,first_column:0,last_line:1,last_column:0},this},input:function(){var e=this._input[0];this.yytext+=e,this.yyleng++,this.match+=e,this.matched+=e;var t=e.match(/\n/);return t&&this.yylineno++,this._input=this._input.slice(1),e},unput:function(e){return this._input=e+this._input,this},more:function(){return this._more=!0,this},pastInput:function(){var e=this.matched.substr(0,this.matched.length-this.match.length);return(e.length>20?"...":"")+e.substr(-20).replace(/\n/g,"")},upcomingInput:function(){var e=this.match;return e.length<20&&(e+=this._input.substr(0,20-e.length)),(e.substr(0,20)+(e.length>20?"...":"")).replace(/\n/g,"")},showPosition:function(){var e=this.pastInput(),t=(new Array(e.length+1)).join("-");return e+this.upcomingInput()+"\n"+t+"^"},next:function(){if(this.done)return this.EOF;this._input||(this.done=!0);var e,t,n,r;this._more||(this.yytext="",this.match="");var i=this._currentRules();for(var s=0;s<i.length;s++){t=this._input.match(this.rules[i[s]]);if(t){r=t[0].match(/\n.*/g),r&&(this.yylineno+=r.length),this.yylloc={first_line:this.yylloc.last_line,last_line:this.yylineno+1,first_column:this.yylloc.last_column,last_column:r?r[r.length-1].length-1:this.yylloc.last_column+t[0].length},this.yytext+=t[0],this.match+=t[0],this.matches=t,this.yyleng=this.yytext.length,this._more=!1,this._input=this._input.slice(t[0].length),this.matched+=t[0],e=this.performAction.call(this,this.yy,this,i[s],this.conditionStack[this.conditionStack.length-1]);if(e)return e;return}}if(this._input==="")return this.EOF;this.parseError("Lexical error on line "+(this.yylineno+1)+". Unrecognized text.\n"+this.showPosition(),{text:"",token:null,line:this.yylineno})},lex:function(){var t=this.next();return typeof t!="undefined"?t:this.lex()},begin:function(t){this.conditionStack.push(t)},popState:function(){return this.conditionStack.pop()},_currentRules:function(){return this.conditions[this.conditionStack[this.conditionStack.length-1]].rules},topState:function(){return this.conditionStack[this.conditionStack.length-2]},pushState:function(t){this.begin(t)}};return e.performAction=function(t,n,r,i){var s=i;switch(r){case 0:n.yytext.slice(-1)!=="\\"&&this.begin("mu"),n.yytext.slice(-1)==="\\"&&(n.yytext=n.yytext.substr(0,n.yyleng-1),this.begin("emu"));if(n.yytext)return 14;break;case 1:return 14;case 2:return this.popState(),14;case 3:return 24;case 4:return 16;case 5:return 20;case 6:return 19;case 7:return 19;case 8:return 23;case 9:return 23;case 10:return n.yytext=n.yytext.substr(3,n.yyleng-5),this.popState(),15;case 11:return 22;case 12:return 34;case 13:return 33;case 14:return 33;case 15:return 36;case 16:break;case 17:return this.popState(),18;case 18:return this.popState(),18;case 19:return n.yytext=n.yytext.substr(1,n.yyleng-2).replace(/\\"/g,'"'),28;case 20:return 30;case 21:return 30;case 22:return 29;case 23:return 33;case 24:return n.yytext=n.yytext.substr(1,n.yyleng-2),33;case 25:return"INVALID";case 26:return 5}},e.rules=[/^[^\x00]*?(?=(\{\{))/,/^[^\x00]+/,/^[^\x00]{2,}?(?=(\{\{))/,/^\{\{>/,/^\{\{#/,/^\{\{\//,/^\{\{\^/,/^\{\{\s*else\b/,/^\{\{\{/,/^\{\{&/,/^\{\{![\s\S]*?\}\}/,/^\{\{/,/^=/,/^\.(?=[} ])/,/^\.\./,/^[\/.]/,/^\s+/,/^\}\}\}/,/^\}\}/,/^"(\\["]|[^"])*"/,/^true(?=[}\s])/,/^false(?=[}\s])/,/^[0-9]+(?=[}\s])/,/^[a-zA-Z0-9_$-]+(?=[=}\s\/.])/,/^\[[^\]]*\]/,/^./,/^$/],e.conditions={mu:{rules:[3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26],inclusive:!1},emu:{rules:[2],inclusive:!1},INITIAL:{rules:[0,1,26],inclusive:!0}},e}();return e.lexer=t,e}();typeof require!="undefined"&&typeof exports!="undefined"&&(exports.parser=handlebars,exports.parse=function(){return handlebars.parse.apply(handlebars,arguments)},exports.main=function(t){if(!t[1])throw new Error("Usage: "+t[0]+" FILE");if(typeof process!="undefined")var n=require("fs").readFileSync(require("path").join(process.cwd(),t[1]),"utf8");else var r=require("file").path(require("file").cwd()),n=r.join(t[1]).read({charset:"utf-8"});return exports.parser.parse(n)},typeof module!="undefined"&&require.main===module&&exports.main(typeof process!="undefined"?process.argv.slice(1):require("system").args)),Handlebars.Parser=handlebars,Handlebars.parse=function(e){return Handlebars.Parser.yy=Handlebars.AST,Handlebars.Parser.parse(e)},Handlebars.print=function(e){return(new Handlebars.PrintVisitor).accept(e)},Handlebars.logger={DEBUG:0,INFO:1,WARN:2,ERROR:3,level:3,log:function(e,t){}},Handlebars.log=function(e,t){Handlebars.logger.log(e,t)},function(){Handlebars.AST={},Handlebars.AST.ProgramNode=function(e,t){this.type="program",this.statements=e,t&&(this.inverse=new Handlebars.AST.ProgramNode(t))},Handlebars.AST.MustacheNode=function(e,t,n){this.type="mustache",this.id=e[0],this.params=e.slice(1),this.hash=t,this.escaped=!n},Handlebars.AST.PartialNode=function(e,t){this.type="partial",this.id=e,this.context=t};var e=function(e,t){if(e.original!==t.original)throw new Handlebars.Exception(e.original+" doesn't match "+t.original)};Handlebars.AST.BlockNode=function(t,n,r){e(t.id,r),this.type="block",this.mustache=t,this.program=n},Handlebars.AST.InverseNode=function(t,n,r){e(t.id,r),this.type="inverse",this.mustache=t,this.program=n},Handlebars.AST.ContentNode=function(e){this.type="content",this.string=e},Handlebars.AST.HashNode=function(e){this.type="hash",this.pairs=e},Handlebars.AST.IdNode=function(e){this.type="ID",this.original=e.join(".");var t=[],n=0;for(var r=0,i=e.length;r<i;r++){var s=e[r];s===".."?n++:s==="."||s==="this"?this.isScoped=!0:t.push(s)}this.parts=t,this.string=t.join("."),this.depth=n,this.isSimple=t.length===1&&n===0},Handlebars.AST.StringNode=function(e){this.type="STRING",this.string=e},Handlebars.AST.IntegerNode=function(e){this.type="INTEGER",this.integer=e},Handlebars.AST.BooleanNode=function(e){this.type="BOOLEAN",this.bool=e},Handlebars.AST.CommentNode=function(e){this.type="comment",this.comment=e}}(),Handlebars.Exception=function(e){var t=Error.prototype.constructor.apply(this,arguments);for(var n in t)t.hasOwnProperty(n)&&(this[n]=t[n]);this.message=t.message},Handlebars.Exception.prototype=new Error,Handlebars.SafeString=function(e){this.string=e},Handlebars.SafeString.prototype.toString=function(){return this.string.toString()},function(){var e={"<":"&lt;",">":"&gt;",'"':"&quot;","'":"&#x27;","`":"&#x60;"},t=/&(?!\w+;)|[<>"'`]/g,n=/[&<>"'`]/,r=function(t){return e[t]||"&amp;"};Handlebars.Utils={escapeExpression:function(e){return e instanceof Handlebars.SafeString?e.toString():e==null||e===!1?"":n.test(e)?e.replace(t,r):e},isEmpty:function(e){return typeof e=="undefined"?!0:e===null?!0:e===!1?!0:Object.prototype.toString.call(e)==="[object Array]"&&e.length===0?!0:!1}}}(),Handlebars.Compiler=function(){},Handlebars.JavaScriptCompiler=function(){},function(e,t){e.OPCODE_MAP={appendContent:1,getContext:2,lookupWithHelpers:3,lookup:4,append:5,invokeMustache:6,appendEscaped:7,pushString:8,truthyOrFallback:9,functionOrFallback:10,invokeProgram:11,invokePartial:12,push:13,assignToHash:15,pushStringParam:16},e.MULTI_PARAM_OPCODES={appendContent:1,getContext:1,lookupWithHelpers:2,lookup:1,invokeMustache:3,pushString:1,truthyOrFallback:1,functionOrFallback:1,invokeProgram:3,invokePartial:1,push:1,assignToHash:1,pushStringParam:1},e.DISASSEMBLE_MAP={};for(var n in e.OPCODE_MAP){var r=e.OPCODE_MAP[n];e.DISASSEMBLE_MAP[r]=n}e.multiParamSize=function(t){return e.MULTI_PARAM_OPCODES[e.DISASSEMBLE_MAP[t]]},e.prototype={compiler:e,disassemble:function(){var t=this.opcodes,n,r,i=[],s,o,u;for(var a=0,f=t.length;a<f;a++){n=t[a];if(n==="DECLARE")o=t[++a],u=t[++a],i.push("DECLARE "+o+" = "+u);else{s=e.DISASSEMBLE_MAP[n];var l=e.multiParamSize(n),c=[];for(var h=0;h<l;h++)r=t[++a],typeof r=="string"&&(r='"'+r.replace("\n","\\n")+'"'),c.push(r);s=s+" "+c.join(" "),i.push(s)}}return i.join("\n")},guid:0,compile:function(e,t){this.children=[],this.depths={list:[]},this.options=t;var n=this.options.knownHelpers;this.options.knownHelpers={helperMissing:!0,blockHelperMissing:!0,each:!0,"if":!0,unless:!0,"with":!0,log:!0};if(n)for(var r in n)this.options.knownHelpers[r]=n[r];return this.program(e)},accept:function(e){return this[e.type](e)},program:function(e){var t=e.statements,n;this.opcodes=[];for(var r=0,i=t.length;r<i;r++)n=t[r],this[n.type](n);return this.isSimple=i===1,this.depths.list=this.depths.list.sort(function(e,t){return e-t}),this},compileProgram:function(e){var t=(new this.compiler).compile(e,this.options),n=this.guid++;this.usePartial=this.usePartial||t.usePartial,this.children[n]=t;for(var r=0,i=t.depths.list.length;r<i;r++){depth=t.depths.list[r];if(depth<2)continue;this.addDepth(depth-1)}return n},block:function(e){var t=e.mustache,n,r,i,s,o=this.setupStackForMustache(t),u=this.compileProgram(e.program);e.program.inverse&&(s=this.compileProgram(e.program.inverse),this.declare("inverse",s)),this.opcode("invokeProgram",u,o.length,!!t.hash),this.declare("inverse",null),this.opcode("append")},inverse:function(e){var t=this.setupStackForMustache(e.mustache),n=this.compileProgram(e.program);this.declare("inverse",n),this.opcode("invokeProgram",null,t.length,!!e.mustache.hash),this.declare("inverse",null),this.opcode("append")},hash:function(e){var t=e.pairs,n,r;this.opcode("push","{}");for(var i=0,s=t.length;i<s;i++)n=t[i],r=n[1],this.accept(r),this.opcode("assignToHash",n[0])},partial:function(e){var t=e.id;this.usePartial=!0,e.context?this.ID(e.context):this.opcode("push","depth0"),this.opcode("invokePartial",t.original),this.opcode("append")},content:function(e){this.opcode("appendContent",e.string)},mustache:function(e){var t=this.setupStackForMustache(e);this.opcode("invokeMustache",t.length,e.id.original,!!e.hash),e.escaped&&!this.options.noEscape?this.opcode("appendEscaped"):this.opcode("append")},ID:function(e){this.addDepth(e.depth),this.opcode("getContext",e.depth),this.opcode("lookupWithHelpers",e.parts[0]||null,e.isScoped||!1);for(var t=1,n=e.parts.length;t<n;t++)this.opcode("lookup",e.parts[t])},STRING:function(e){this.opcode("pushString",e.string)},INTEGER:function(e){this.opcode("push",e.integer)},BOOLEAN:function(e){this.opcode("push",e.bool)},comment:function(){},pushParams:function(e){var t=e.length,n;while(t--)n=e[t],this.options.stringParams?(n.depth&&this.addDepth(n.depth),this.opcode("getContext",n.depth||0),this.opcode("pushStringParam",n.string)):this[n.type](n)},opcode:function(t,n,r,i){this.opcodes.push(e.OPCODE_MAP[t]),n!==undefined&&this.opcodes.push(n),r!==undefined&&this.opcodes.push(r),i!==undefined&&this.opcodes.push(i)},declare:function(e,t){this.opcodes.push("DECLARE"),this.opcodes.push(e),this.opcodes.push(t)},addDepth:function(e){if(e===0)return;this.depths[e]||(this.depths[e]=!0,this.depths.list.push(e))},setupStackForMustache:function(e){var t=e.params;return this.pushParams(t),e.hash&&this.hash(e.hash),this.ID(e.id),t}},t.prototype={nameLookup:function(e,n,r){return/^[0-9]+$/.test(n)?e+"["+n+"]":t.isValidJavaScriptVariableName(n)?e+"."+n:e+"['"+n+"']"},appendToBuffer:function(e){return this.environment.isSimple?"return "+e+";":"buffer += "+e+";"},initializeBuffer:function(){return this.quotedString("")},namespace:"Handlebars",compile:function(e,t,n,r){this.environment=e,this.options=t||{},this.name=this.environment.name,this.isChild=!!n,this.context=n||{programs:[],aliases:{self:"this"},registers:{list:[]}},this.preamble(),this.stackSlot=0,this.stackVars=[],this.compileChildren(e,t);var i=e.opcodes,s;this.i=0;for(u=i.length;this.i<u;this.i++)s=this.nextOpcode(0),s[0]==="DECLARE"?(this.i=this.i+2,this[s[1]]=s[2]):(this.i=this.i+s[1].length,this[s[0]].apply(this,s[1]));return this.createFunctionContext(r)},nextOpcode:function(t){var n=this.environment.opcodes,r=n[this.i+t],i,s,o,u;if(r==="DECLARE")return i=n[this.i+1],s=n[this.i+2],["DECLARE",i,s];i=e.DISASSEMBLE_MAP[r],o=e.multiParamSize(r),u=[];for(var a=0;a<o;a++)u.push(n[this.i+a+1+t]);return[i,u]},eat:function(e){this.i=this.i+e.length},preamble:function(){var e=[];this.useRegister("foundHelper");if(!this.isChild){var t=this.namespace,n="helpers = helpers || "+t+".helpers;";this.environment.usePartial&&(n=n+" partials = partials || "+t+".partials;"),e.push(n)}else e.push("");this.environment.isSimple?e.push(""):e.push(", buffer = "+this.initializeBuffer()),this.lastContext=0,this.source=e},createFunctionContext:function(e){var t=this.stackVars;this.isChild||(t=t.concat(this.context.registers.list)),t.length>0&&(this.source[1]=this.source[1]+", "+t.join(", "));if(!this.isChild){var n=[];for(var r in this.context.aliases)this.source[1]=this.source[1]+", "+r+"="+this.context.aliases[r]}this.source[1]&&(this.source[1]="var "+this.source[1].substring(2)+";"),this.isChild||(this.source[1]+="\n"+this.context.programs.join("\n")+"\n"),this.environment.isSimple||this.source.push("return buffer;");var i=this.isChild?["depth0","data"]:["Handlebars","depth0","helpers","partials","data"];for(var s=0,o=this.environment.depths.list.length;s<o;s++)i.push("depth"+this.environment.depths.list[s]);if(e)return i.push(this.source.join("\n  ")),Function.apply(this,i);var u="function "+(this.name||"")+"("+i.join(",")+") {\n  "+this.source.join("\n  ")+"}";return Handlebars.log(Handlebars.logger.DEBUG,u+"\n\n"),u},appendContent:function(e){this.source.push(this.appendToBuffer(this.quotedString(e)))},append:function(){var e=this.popStack();this.source.push("if("+e+" || "+e+" === 0) { "+this.appendToBuffer(e)+" }"),this.environment.isSimple&&this.source.push("else { "+this.appendToBuffer("''")+" }")},appendEscaped:function(){var e=this.nextOpcode(1),t="";this.context.aliases.escapeExpression="this.escapeExpression",e[0]==="appendContent"&&(t=" + "+this.quotedString(e[1][0]),this.eat(e)),this.source.push(this.appendToBuffer("escapeExpression("+this.popStack()+")"+t))},getContext:function(e){this.lastContext!==e&&(this.lastContext=e)},lookupWithHelpers:function(e,t){if(e){var n=this.nextStack();this.usingKnownHelper=!1;var r;!t&&this.options.knownHelpers[e]?(r=n+" = "+this.nameLookup("helpers",e,"helper"),this.usingKnownHelper=!0):t||this.options.knownHelpersOnly?r=n+" = "+this.nameLookup("depth"+this.lastContext,e,"context"):(this.register("foundHelper",this.nameLookup("helpers",e,"helper")),r=n+" = foundHelper || "+this.nameLookup("depth"+this.lastContext,e,"context")),r+=";",this.source.push(r)}else this.pushStack("depth"+this.lastContext)},lookup:function(e){var t=this.topStack();this.source.push(t+" = ("+t+" === null || "+t+" === undefined || "+t+" === false ? "+t+" : "+this.nameLookup(t,e,"context")+");")},pushStringParam:function(e){this.pushStack("depth"+this.lastContext),this.pushString(e)},pushString:function(e){this.pushStack(this.quotedString(e))},push:function(e){this.pushStack(e)},invokeMustache:function(e,t,n){this.populateParams(e,this.quotedString(t),"{}",null,n,function(e,t,n){this.usingKnownHelper||(this.context.aliases.helperMissing="helpers.helperMissing",this.context.aliases.undef="void 0",this.source.push("else if("+n+"=== undef) { "+e+" = helperMissing.call("+t+"); }"),e!==n&&this.source.push("else { "+e+" = "+n+"; }"))})},invokeProgram:function(e,t,n){var r=this.programExpression(this.inverse),i=this.programExpression(e);this.populateParams(t,null,i,r,n,function(e,t,n){this.usingKnownHelper||(this.context.aliases.blockHelperMissing="helpers.blockHelperMissing",this.source.push("else { "+e+" = blockHelperMissing.call("+t+"); }"))})},populateParams:function(e,t,n,r,i,s){var o=i||this.options.stringParams||r||this.options.data,u=this.popStack(),a,f=[],l,c,h;o?(this.register("tmp1",n),h="tmp1"):h="{ hash: {} }";if(o){var p=i?this.popStack():"{}";this.source.push("tmp1.hash = "+p+";")}this.options.stringParams&&this.source.push("tmp1.contexts = [];");for(var d=0;d<e;d++)l=this.popStack(),f.push(l),this.options.stringParams&&this.source.push("tmp1.contexts.push("+this.popStack()+");");r&&(this.source.push("tmp1.fn = tmp1;"),this.source.push("tmp1.inverse = "+r+";")),this.options.data&&this.source.push("tmp1.data = data;"),f.push(h),this.populateCall(f,u,t||u,s,n!=="{}")},populateCall:function(e,t,n,r,i){var s=["depth0"].concat(e).join(", "),o=["depth0"].concat(n).concat(e).join(", "),u=this.nextStack();if(this.usingKnownHelper)this.source.push(u+" = "+t+".call("+s+");");else{this.context.aliases.functionType='"function"';var a=i?"foundHelper && ":"";this.source.push("if("+a+"typeof "+t+" === functionType) { "+u+" = "+t+".call("+s+"); }")}r.call(this,u,o,t),this.usingKnownHelper=!1},invokePartial:function(e){params=[this.nameLookup("partials",e,"partial"),"'"+e+"'",this.popStack(),"helpers","partials"],this.options.data&&params.push("data"),this.pushStack("self.invokePartial("+params.join(", ")+");")},assignToHash:function(e){var t=this.popStack(),n=this.topStack();this.source.push(n+"['"+e+"'] = "+t+";")},compiler:t,compileChildren:function(e,t){var n=e.children,r,i;for(var s=0,o=n.length;s<o;s++){r=n[s],i=new this.compiler,this.context.programs.push("");var u=this.context.programs.length;r.index=u,r.name="program"+u,this.context.programs[u]=i.compile(r,t,this.context)}},programExpression:function(e){if(e==null)return"self.noop";var t=this.environment.children[e],n=t.depths.list,r=[t.index,t.name,"data"];for(var i=0,s=n.length;i<s;i++)depth=n[i],depth===1?r.push("depth0"):r.push("depth"+(depth-1));return n.length===0?"self.program("+r.join(", ")+")":(r.shift(),"self.programWithDepth("+r.join(", ")+")")},register:function(e,t){this.useRegister(e),this.source.push(e+" = "+t+";")},useRegister:function(e){this.context.registers[e]||(this.context.registers[e]=!0,this.context.registers.list.push(e))},pushStack:function(e){return this.source.push(this.nextStack()+" = "+e+";"),"stack"+this.stackSlot},nextStack:function(){return this.stackSlot++,this.stackSlot>this.stackVars.length&&this.stackVars.push("stack"+this.stackSlot),"stack"+this.stackSlot},popStack:function(){return"stack"+this.stackSlot--},topStack:function(){return"stack"+this.stackSlot},quotedString:function(e){return'"'+e.replace(/\\/g,"\\\\").replace(/"/g,'\\"').replace(/\n/g,"\\n").replace(/\r/g,"\\r")+'"'}};var i="break else new var case finally return void catch for switch while continue function this with default if throw delete in try do instanceof typeof abstract enum int short boolean export interface static byte extends long super char final native synchronized class float package throws const goto private transient debugger implements protected volatile double import public let yield".split(" "),s=t.RESERVED_WORDS={};for(var o=0,u=i.length;o<u;o++)s[i[o]]=!0;t.isValidJavaScriptVariableName=function(e){return!t.RESERVED_WORDS[e]&&/^[a-zA-Z_$][0-9a-zA-Z_$]+$/.test(e)?!0:!1}}(Handlebars.Compiler,Handlebars.JavaScriptCompiler),Handlebars.precompile=function(e,t){t=t||{};var n=Handlebars.parse(e),r=(new Handlebars.Compiler).compile(n,t);return(new Handlebars.JavaScriptCompiler).compile(r,t)},Handlebars.compile=function(e,t){function r(){var n=Handlebars.parse(e),r=(new Handlebars.Compiler).compile(n,t),i=(new Handlebars.JavaScriptCompiler).compile(r,t,undefined,!0);return Handlebars.template(i)}t=t||{};var n;return function(e,t){return n||(n=r()),n.call(this,e,t)}},Handlebars.VM={template:function(e){var t={escapeExpression:Handlebars.Utils.escapeExpression,invokePartial:Handlebars.VM.invokePartial,programs:[],program:function(e,t,n){var r=this.programs[e];return n?Handlebars.VM.program(t,n):r?r:(r=this.programs[e]=Handlebars.VM.program(t),r)},programWithDepth:Handlebars.VM.programWithDepth,noop:Handlebars.VM.noop};return function(n,r){return r=r||{},e.call(t,Handlebars,n,r.helpers,r.partials,r.data)}},programWithDepth:function(e,t,n){var r=Array.prototype.slice.call(arguments,2);return function(n,i){return i=i||{},e.apply(this,[n,i.data||t].concat(r))}},program:function(e,t){return function(n,r){return r=r||{},e(n,r.data||t)}},noop:function(){return""},invokePartial:function(e,t,n,r,i,s){options={helpers:r,partials:i,data:s};if(e===undefined)throw new Handlebars.Exception("The partial "+t+" could not be found");if(e instanceof Function)return e(n,options);if(!Handlebars.compile)throw new Handlebars.Exception("The partial "+t+" could not be compiled when running in runtime-only mode");return i[t]=Handlebars.compile(e),i[t](n,options)}},Handlebars.template=Handlebars.VM.template,define("handlebars",function(){}),define("tmpl",["handlebars","text"],function(e,t){var n={};return{load:function(e,r,i,s){return t.load(e,r,function(t){s.isBuild&&s.inlineText&&(n[e]=t),i(s.isBuild?t:Handlebars.compile(t))},s)},write:function(e,r,i){if(r in n){var s=t.jsEscape(n[r]);i("define('"+e+"!"+r+"', ['handlebars'], function (hb) { return Handlebars.compile('"+s+"');});\n")}}}}),define("tmpl!w3c/templates/headers.html",["handlebars"],function(e){return Handlebars.compile("<div class='head'>\n  <p>\n    {{#if prependW3C}}\n      <a href='http://www.w3.org/'><img width='72' height='48' src='{{httpScheme}}://www.w3.org/Icons/w3c_home' alt='W3C'/></a>\n    {{/if}}\n  </p>\n  <h1 class='title p-name' id='title'>{{title}}</h1>\n  {{#if subtitle}}\n    <h2 id='subtitle'>{{subtitle}}</h2>\n  {{/if}}\n  <h2>{{#if prependW3C}}W3C {{/if}}{{textStatus}} <time class='dt-published' datetime='{{dashDate}}'>{{publishHumanDate}}</time></h2>\n  <dl>\n    {{#unless isNoTrack}}\n      <dt>This version:</dt>\n      <dd><a class='u-url' href='{{thisVersion}}'>{{thisVersion}}</a></dd>\n      <dt>Latest published version:</dt>\n      <dd>{{#if latestVersion}}<a href='{{latestVersion}}'>{{latestVersion}}</a>{{else}}none{{/if}}</dd>\n    {{/unless}}\n    {{#if edDraftURI}}\n      <dt>Latest editor's draft:</dt>\n      <dd><a href='{{edDraftURI}}'>{{edDraftURI}}</a></dd>\n    {{/if}}\n    {{#if testSuiteURI}}\n      <dt>Test suite:</dt>\n      <dd><a href='{{testSuiteURI}}'>{{testSuiteURI}}</a></dd>\n    {{/if}}\n    {{#if implementationReportURI}}\n      <dt>Implementation report:</dt>\n      <dd><a href='{{implementationReportURI}}'>{{implementationReportURI}}</a></dd>\n    {{/if}}\n    {{#if isED}}\n      {{#if prevED}}\n        <dt>Previous editor's draft:</dt>\n        <dd><a href='{{prevED}}'>{{prevED}}</a></dd>\n      {{/if}}\n    {{/if}}\n    {{#if showPreviousVersion}}\n      <dt>Previous version:</dt>\n      <dd><a href='{{prevVersion}}'>{{prevVersion}}</a></dd>\n    {{/if}}\n    {{#if prevRecURI}}\n      <dt>Latest recommendation:</dt>\n      <dd><a href='{{prevRecURI}}'>{{prevRecURI}}</a></dd>\n    {{/if}}\n    <dt>Editor{{#if multipleEditors}}s{{/if}}:</dt>\n    {{showPeople \"Editor\" editors}}\n    {{#if authors}}\n      <dt>Author{{#if multipleAuthors}}s{{/if}}:</dt>\n      {{showPeople \"Author\" authors}}\n    {{/if}}\n    {{#if otherLinks}}\n      {{#each otherLinks}}\n        {{#if key}}\n          <dt {{#if class}}class=\"{{class}}\"{{/if}}>{{key}}:</dt>\n          {{#if data}}\n             {{#each data}} \n                {{#if value}}\n                  <dd {{#if class}}class=\"{{class}}\"{{/if}}>\n                    {{#if href}}<a href=\"{{href}}\">{{/if}}\n                      {{value}}\n                    {{#if href}}</a>{{/if}}\n                  </dd>\n                {{else}}\n                  {{#if href}}\n                    <dd><a href=\"{{href}}\">{{href}}</a></dd>  \n                  {{/if}}\n                {{/if}}\n             {{/each}}\n          {{else}}\n            {{#if value}}\n              <dd {{#if class}}class=\"{{class}}\"{{/if}}>\n                {{#if href}}<a href=\"{{href}}\">{{/if}}\n                  {{value}}\n                {{#if href}}</a>{{/if}}\n              </dd>\n            {{else}}\n              {{#if href}}\n                <dd {{#if class}}class=\"{{class}}\"{{/if}}>\n                  <a href=\"{{href}}\">{{href}}</a>\n                </dd>  \n              {{/if}}\n            {{/if}}\n          {{/if}}\n        {{/if}}  \n      {{/each}}\n    {{/if}}\n  </dl>\n  {{#if errata}}\n    <p>\n      Please refer to the <a href=\"{{errata}}\"><strong>errata</strong></a> for this document, which may include some normative corrections.\n    </p>\n  {{/if}}\n  {{#if alternateFormats}}\n    <p>\n      {{#if multipleAlternates}}\n        This document is also available in these non-normative formats: \n      {{else}}\n        This document is also available in this non-normative format: \n      {{/if}}\n      {{{alternatesHTML}}}\n    </p>\n  {{/if}}\n  {{#if isRec}}\n    <p>\n      The English version of this specification is the only normative version. Non-normative \n      <a href=\"http://www.w3.org/Consortium/Translation/\">translations</a> may also be available.\n    </p>\n  {{/if}}\n  {{#if isUnofficial}}\n    {{#if additionalCopyrightHolders}}\n      <p class='copyright'>{{{additionalCopyrightHolders}}}</p>\n    {{else}}\n      {{#if overrideCopyright}}\n        {{{overrideCopyright}}}\n      {{else}}\n        <p class='copyright'>\n          This document is licensed under a \n          <a class='subfoot' href='http://creativecommons.org/licenses/by/3.0/' rel='license'>Creative Commons \n          Attribution 3.0 License</a>.\n        </p>\n      {{/if}}\n    {{/if}}\n  {{else}}\n    {{#if overrideCopyright}}\n      {{{overrideCopyright}}}\n    {{else}}\n      <p class='copyright'>\n        <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a> &copy; \n        {{#if copyrightStart}}{{copyrightStart}}-{{/if}}{{publishYear}}\n        {{#if additionalCopyrightHolders}} {{{additionalCopyrightHolders}}} &amp;{{/if}}\n        <a href='http://www.w3.org/'><abbr title='World Wide Web Consortium'>W3C</abbr></a><sup>&reg;</sup> \n        (<a href='http://www.csail.mit.edu/'><abbr title='Massachusetts Institute of Technology'>MIT</abbr></a>,\n        <a href='http://www.ercim.eu/'><abbr title='European Research Consortium for Informatics and Mathematics'>ERCIM</abbr></a>,\n        <a href='http://www.keio.ac.jp/'>Keio</a>, <a href=\"http://ev.buaa.edu.cn/\">Beihang</a>), All Rights Reserved.\n        W3C <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Legal_Disclaimer'>liability</a>,\n        <a href='http://www.w3.org/Consortium/Legal/ipr-notice#W3C_Trademarks'>trademark</a> and\n        <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>document use</a> rules apply.\n      </p>\n    {{/if}}\n  {{/if}}\n  <hr/>\n</div>\n")}),define("tmpl!w3c/templates/sotd.html",["handlebars"],function(e){return Handlebars.compile("<section id='sotd' class='introductory'><h2>Status of This Document</h2>\n  {{#if isUnofficial}}\n    <p>\n      This document is merely a public working draft of a potential specification. It has\n      no official standing of any kind and does not represent the support or consensus of any\n      standards organisation.\n    </p>\n    {{{sotdCustomParagraph}}}\n  {{else}}\n    {{#if isTagFinding}}\n      {{#if sotdCustomParagraph}}\n        {{{sotdCustomParagraph}}}\n      {{else}}\n        <p style='color: red'>\n          ReSpec does not support automated SotD generation for TAG findings, please specify one using a \n          <code>&lt;section></code> element with ID=sotd.\n        </p>\n      {{/if}}\n    {{else}}\n      {{#if isNoTrack}}\n        <p>\n          This document is merely a W3C-internal {{#if isMO}}member-confidential{{/if}} document. It has no\n          official standing of any kind and does not represent consensus of the W3C Membership.\n        </p>\n        {{{sotdCustomParagraph}}}\n      {{else}}\n        <p>\n          <em>This section describes the status of this document at the time of its publication. Other\n          documents may supersede this document. A list of current W3C publications and the latest revision\n          of this technical report can be found in the <a href='http://www.w3.org/TR/'>W3C technical reports\n          index</a> at http://www.w3.org/TR/.</em>\n        </p>\n        {{{sotdCustomParagraph}}}\n        <p>\n          This document was published by the {{{wgHTML}}} as {{anOrA}} {{longStatus}}.\n          {{#if notYetRec}}\n            This document is intended to become a W3C Recommendation.\n          {{/if}}\n          {{#if isPR}}\n          {{else}}\n          If you wish to make comments regarding this document, please send them to \n          <a href='mailto:{{wgPublicList}}@w3.org{{#if subjectPrefix}}?subject={{subjectPrefix}}{{/if}}'>{{wgPublicList}}@w3.org</a> \n          (<a href='mailto:{{wgPublicList}}-request@w3.org?subject=subscribe'>subscribe</a>,\n          <a\n              href='http://lists.w3.org/Archives/Public/{{wgPublicList}}/'>archives</a>){{#if subjectPrefix}}\n          with <code>{{subjectPrefix}}</code> at the start of your email's subject.{{/if}}.\n          {{/if}}\n          {{#if isLC}}The Last Call period ends {{humanLCEnd}}.{{/if}}\n          {{#if isCR}}\n            W3C publishes a Candidate Recommendation to indicate that the document is believed\n            to be stable and to encourage implementation by the developer community. This\n            Candidate Recommendation is expected to advance to Proposed Recommendation no earlier than\n            {{humanCREnd}}.\n          {{/if}}\n          {{#if isPR}}\n          The W3C Membership and other interested parties are invited\n          to review the document and send comments to\n\n          <a rel='discussion' href='mailto:{{wgPublicList}}@w3.org'>{{wgPublicList}}@w3.org</a> \n          (<a href='mailto:{{wgPublicList}}-request@w3.org?subject=subscribe'>subscribe</a>,\n          <a\n              href='http://lists.w3.org/Archives/Public/{{wgPublicList}}/'>archives</a>)\n          through {{humanPREnd}}.\n          Advisory Committee Representatives should consult their\n          <a href='https://www.w3.org/2002/09/wbs/myQuestionnaires'>WBS questionnaires</a>. \n          Note that substantive technical comments were expected during the Last Call review period that ended {{humanLCEnd}}.\n        </p>\n        {{#if implReport}}\n        <p>Please see the Working Group's <a href='{{implReport}}'>implementation report</a>.</p>\n        {{/if}}\n        {{else}}\n        All comments are welcome.\n        {{/if}}\n        {{#if notRec}}\n          <p>\n            Publication as {{anOrA}} {{textStatus}} does not imply endorsement by the W3C Membership.\n            This is a draft document and may be updated, replaced or obsoleted by other documents at \n            any time. It is inappropriate to cite this document as other than work in progress.\n          </p>\n        {{/if}}\n        {{#if isLC}}\n          <p>\n            This is a Last Call Working Draft and thus the Working Group has determined that this document has satisfied the\n            relevant technical requirements and is sufficiently stable to advance through the Technical Recommendation process.\n          </p>\n        {{/if}}\n        <p>\n          {{#unless isIGNote}}\n            This document was produced by a group operating under the \n            <a href='http://www.w3.org/Consortium/Patent-Policy-20040205/'>5 February 2004 W3C Patent Policy</a>.\n          {{/unless}}\n          {{#if recNotExpected}}The group does not expect this document to become a W3C Recommendation.{{/if}}\n          {{#unless isIGNote}}\n            {{#if multipleWGs}}\n              W3C maintains a public list of any patent disclosures ({{{wgPatentHTML}}})\n            {{else}}\n              W3C maintains a <a href='{{wgPatentURI}}' rel='disclosure'>public list of any patent disclosures</a> \n            {{/if}}\n            made in connection with the deliverables of the group; that page also includes instructions for \n            disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains\n            <a href='http://www.w3.org/Consortium/Patent-Policy-20040205/#def-essential'>Essential Claim(s)</a> must disclose the\n            information in accordance with <a href='http://www.w3.org/Consortium/Patent-Policy-20040205/#sec-Disclosure'>section\n            6 of the W3C Patent Policy</a>.\n          {{/unless}}\n          {{#if isIGNote}}\n            The disclosure obligations of the Participants of this group are described in the \n            <a href='{{charterDisclosureURI}}'>charter</a>. \n          {{/if}}\n        </p>\n        {{#if addPatentNote}}<p>{{{addPatentNote}}}</p>{{/if}}\n      {{/if}}\n    {{/if}}\n  {{/if}}\n</section>\n\n")}),define("tmpl!w3c/templates/cgbg-headers.html",["handlebars"],function(e){return Handlebars.compile("<div class='head'>\n  <p>\n    <a href='http://www.w3.org/'><img width='72' height='48' src='{{httpScheme}}://www.w3.org/Icons/w3c_home' alt='W3C'/></a>\n  </p>\n  <h1 class='title' id='title'>{{title}}</h1>\n  {{#if subtitle}}<h2 id='subtitle'>{{subtitle}}</h2>{{/if}}\n  <h2>{{longStatus}} <time class='dt-published' datetime='{{dashDate}}'>{{publishHumanDate}}</time></h2>\n  <dl>\n    {{#if thisVersion}}\n      <dt>This version:</dt>\n      <dd><a class='u-url' href='{{thisVersion}}'>{{thisVersion}}</a></dd>\n    {{/if}}\n    {{#if latestVersion}}\n      <dt>Latest published version:</dt>\n      <dd><a href='{{latestVersion}}'>{{latestVersion}}</a></dd>\n    {{/if}}\n    {{#if edDraftURI}}\n      <dt>Latest editor's draft:</dt>\n      <dd><a href='{{edDraftURI}}'>{{edDraftURI}}</a></dd>\n    {{/if}}\n    {{#if testSuiteURI}}\n      <dt>Test suite:</dt>\n      <dd><a href='{{testSuiteURI}}'>{{testSuiteURI}}</a></dd>\n    {{/if}}\n    {{#if implementationReportURI}}\n      <dt>Implementation report:</dt>\n      <dd><a href='{{implementationReportURI}}'>{{implementationReportURI}}</a></dd>\n    {{/if}}\n    {{#if prevVersion}}\n      <dt>Previous version:</dt>\n      <dd><a href='{{prevVersion}}'>{{prevVersion}}</a></dd>\n    {{/if}}\n    {{#unless isCGFinal}}\n      {{#if prevED}}\n        <dt>Previous editor's draft:</dt>\n        <dd><a href='{{prevED}}'>{{prevED}}</a></dd>\n      {{/if}}\n    {{/unless}}\n    <dt>Editor{{#if multipleEditors}}s{{/if}}:</dt>\n    {{showPeople \"Editor\" editors}}\n    {{#if authors}}\n      <dt>Author{{#if multipleAuthors}}s{{/if}}:</dt>\n      {{showPeople \"Author\" authors}}\n    {{/if}}\n  </dl>\n  {{#if alternateFormats}}\n    <p>\n      {{#if multipleAlternates}}\n        This document is also available in these non-normative formats: \n      {{else}}\n        This document is also available in this non-normative format: \n      {{/if}}\n      {{{alternatesHTML}}}\n    </p>\n  {{/if}}\n  <p class='copyright'>\n    <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>Copyright</a> &copy; \n    {{#if copyrightStart}}{{copyrightStart}}-{{/if}}{{publishYear}}\n    the Contributors to the {{title}} Specification, published by the\n    <a href='{{wgURI}}'>{{wg}}</a> under the\n    {{#if isCGFinal}}\n      <a href=\"https://www.w3.org/community/about/agreements/fsa/\">W3C Community Final Specification Agreement (FSA)</a>. \n      A human-readable <a href=\"http://www.w3.org/community/about/agreements/fsa-deed/\">summary</a> is available.\n    {{else}}\n      <a href=\"https://www.w3.org/community/about/agreements/cla/\">W3C Community Contributor License Agreement (CLA)</a>.\n      A human-readable <a href=\"http://www.w3.org/community/about/agreements/cla-deed/\">summary</a> is available.\n    {{/if}}\n  </p>\n  <hr/>\n</div>\n")}),define("tmpl!w3c/templates/cgbg-sotd.html",["handlebars"],function(e){return Handlebars.compile("<section id='sotd' class='introductory'><h2>Status of This Document</h2>\n  <p>\n    This specification was published by the <a href='{{wgURI}}'>{{wg}}</a>.\n    It is not a W3C Standard nor is it on the W3C Standards Track.\n    {{#if isCGFinal}}\n      Please note that under the \n      <a href=\"https://www.w3.org/community/about/agreements/final/\">W3C Community Final Specification Agreement (FSA)</a> \n      other conditions apply.\n    {{else}}\n      Please note that under the \n      <a href=\"https://www.w3.org/community/about/agreements/cla/\">W3C Community Contributor License Agreement (CLA)</a>\n      there is a limited opt-out and other conditions apply.\n    {{/if}}\n    Learn more about \n    <a href=\"http://www.w3.org/community/\">W3C Community and Business Groups</a>.\n  </p>\n  {{{sotdCustomParagraph}}}\n</section>\n")}),define("w3c/headers",["handlebars","core/utils","tmpl!w3c/templates/headers.html","tmpl!w3c/templates/sotd.html","tmpl!w3c/templates/cgbg-headers.html","tmpl!w3c/templates/cgbg-sotd.html"],function(e,t,n,r,i,s){return Handlebars.registerHelper("showPeople",function(e,t){var n="",r="",i="",s="",o="",u="";this.doRDFa&&(e==="Editor"?(n=" rel='bibo:editor'",this.doRDFa=="1.1"&&(n+=" inlist=''")):e==="Author"&&(n=" rel='dcterms:contributor'"),s=" property='foaf:name'",i=" rel='foaf:mbox'",r=" typeof='foaf:Person'",o=" rel='foaf:workplaceHomepage'",u=" rel='foaf:homepage'");var a="";for(var f=0,l=t.length;f<l;f++){var c=t[f];this.doRDFa?a+="<dd"+n+"><span"+r+">":a+="<dd class='p-author h-card vcard'>",c.url?this.doRDFa?a+="<a"+u+s+" content='"+c.name+"' href='"+c.url+"'>"+c.name+"</a>":a+="<a class='u-url url p-name fn' href='"+c.url+"'>"+c.name+"</a>":a+="<span"+s+" class='p-name fn'>"+c.name+"</span>",c.company&&(a+=", ",c.companyURL?a+="<a"+o+" class='p-org org h-org h-card' href='"+c.companyURL+"'>"+c.company+"</a>":a+=c.company),c.mailto&&(a+=", <span class='ed_mailto'><a class='u-email email' "+i+" href='mailto:"+c.mailto+"'>"+c.mailto+"</a></span>"),c.note&&(a+=" ("+c.note+")"),this.doRDFa&&(a+="</span>\n"),a+="</dd>\n"}return new Handlebars.SafeString(a)}),{status2maturity:{FPWD:"WD",LC:"WD",FPLC:"WD","FPWD-NOTE":"NOTE","WD-NOTE":"WD","LC-NOTE":"LC","IG-NOTE":"NOTE","WG-NOTE":"NOTE"},status2text:{NOTE:"Note","WG-NOTE":"Working Group Note","CG-NOTE":"Co-ordination Group Note","IG-NOTE":"Interest Group Note","Member-SUBM":"Member Submission","Team-SUBM":"Team Submission",MO:"Member-Only Document",ED:"Editor's Draft",FPWD:"First Public Working Draft",WD:"Working Draft","FPWD-NOTE":"Working Group Note","WD-NOTE":"Working Draft","LC-NOTE":"Working Draft",FPLC:"First Public and Last Call Working Draft",LC:"Last Call Working Draft",CR:"Candidate Recommendation",PR:"Proposed Recommendation",PER:"Proposed Edited Recommendation",REC:"Recommendation",RSCND:"Rescinded Recommendation",unofficial:"Unofficial Draft",base:"Document",finding:"TAG Finding","draft-finding":"Draft TAG Finding","CG-DRAFT":"Draft Community Group Specification","CG-FINAL":"Final Community Group Specification","BG-DRAFT":"Draft Business Group Specification","BG-FINAL":"Final Business Group Specification"},status2long:{"FPWD-NOTE":"First Public Working Group Note","LC-NOTE":"Last Call Working Draft"},recTrackStatus:["FPWD","WD","FPLC","LC","CR","PR","PER","REC"],noTrackStatus:["MO","unofficial","base","finding","draft-finding","CG-DRAFT","CG-FINAL","BG-DRAFT","BG-FINAL"],cgbg:["CG-DRAFT","CG-FINAL","BG-DRAFT","BG-FINAL"],precededByAn:["ED","IG-NOTE"],run:function(e,o,u,a){a.pub("start","w3c/headers"),e.isCGBG=$.inArray(e.specStatus,this.cgbg)>=0,e.isCGFinal=e.isCGBG&&/G-FINAL$/.test(e.specStatus),e.specStatus||a.pub("error","Missing required configuration: specStatus"),!e.isCGBG&&!e.shortName&&a.pub("error","Missing required configuration: shortName"),e.title=o.title||"No Title",e.subtitle||(e.subtitle=""),e.publishDate?e.publishDate instanceof Date||(e.publishDate=t.parseSimpleDate(e.publishDate)):e.publishDate=t.parseLastModified(o.lastModified),e.publishYear=e.publishDate.getFullYear(),e.publishHumanDate=t.humanDate(e.publishDate),e.isNoTrack=$.inArray(e.specStatus,this.noTrackStatus)>=0,e.isRecTrack=e.noRecTrack?!1:$.inArray(e.specStatus,this.recTrackStatus)>=0,e.anOrA=$.inArray(e.specStatus,this.precededByAn)>=0?"an":"a",e.isTagFinding=e.specStatus==="finding"||e.specStatus==="draft-finding",e.edDraftURI||(e.edDraftURI="",e.specStatus==="ED"&&a.pub("warn","Editor's Drafts should set edDraftURI.")),e.maturity=this.status2maturity[e.specStatus]?this.status2maturity[e.specStatus]:e.specStatus==="Member-SUBM"?"SUBM":e.specStatus;var f="TR";e.specStatus==="Member-SUBM"?f="Submission":e.specStatus==="Team-SUBM"&&(f="TeamSubmission"),e.isCGBG||(e.thisVersion="http://www.w3.org/"+f+"/"+e.publishDate.getFullYear()+"/"+e.maturity+"-"+e.shortName+"-"+t.concatDate(e.publishDate)+"/"),e.specStatus==="ED"&&(e.thisVersion=e.edDraftURI),e.isCGBG||(e.latestVersion="http://www.w3.org/"+f+"/"+e.shortName+"/"),e.isTagFinding&&(e.latestVersion="http://www.w3.org/2001/tag/doc/"+e.shortName,e.thisVersion=e.latestVersion+"-"+t.concatDate(e.publishDate,"-"));if(e.previousPublishDate){!e.previousMaturity&&!e.isTagFinding&&a.pub("error","previousPublishDate is set, but not previousMaturity"),e.previousPublishDate instanceof Date||(e.previousPublishDate=t.parseSimpleDate(e.previousPublishDate));var l=this.status2maturity[e.previousMaturity]?this.status2maturity[e.previousMaturity]:e.previousMaturity;e.isTagFinding?e.prevVersion=e.latestVersion+"-"+t.concatDate(e.previousPublishDate,"-"):e.isCGBG?e.prevVersion=e.prevVersion||"":e.prevVersion="http://www.w3.org/TR/"+e.previousPublishDate.getFullYear()+"/"+l+"-"+e.shortName+"-"+t.concatDate(e.previousPublishDate)+"/"}else e.specStatus!=="FPWD"&&e.specStatus!=="FPLC"&&e.specStatus!=="ED"&&!e.noRecTrack&&!e.isNoTrack&&a.pub("error","Document on track but no previous version."),e.prevVersion||(e.prevVersion="");e.prevRecShortname&&!e.prevRecURI&&(e.prevRecURI="http://www.w3.org/TR/"+e.prevRecShortname),(!e.editors||e.editors.length===0)&&a.pub("error","At least one editor is required");var c=function(e,t){t.name||a.pub("error","All authors and editors must have a name.")};$.each(e.editors,c),$.each(e.authors||[],c),e.multipleEditors=e.editors.length>1,e.multipleAuthors=e.authors&&e.authors.length>1,$.each(e.alternateFormats||[],function(e,t){(!t.uri||!t.label)&&a.pub("error","All alternate formats must have a uri and a label.")}),e.multipleAlternates=e.alternateFormats&&e.alternateFormats.length>1,e.alternatesHTML=t.joinAnd(e.alternateFormats,function(e){var t=e.hasOwnProperty("lang")&&e.lang?" hreflang='"+e.lang+"'":"";return t+=e.hasOwnProperty("type")&&e.type?" type='"+e.type+"'":"","<a rel='alternate' href='"+e.uri+"'"+t+">"+e.label+"</a>"}),e.copyrightStart&&e.copyrightStart==e.publishYear&&(e.copyrightStart="");for(var h in this.status2text){if(this.status2long[h])continue;this.status2long[h]=this.status2text[h]}e.longStatus=this.status2long[e.specStatus],e.textStatus=this.status2text[e.specStatus],e.showThisVersion=!e.isNoTrack||e.isTagFinding,e.showPreviousVersion=e.specStatus!=="FPWD"&&e.specStatus!=="FPLC"&&e.specStatus!=="ED"&&!e.isNoTrack&&!e.noRecTrack,e.isTagFinding&&(e.showPreviousVersion=e.previousPublishDate?!0:!1),e.notYetRec=e.isRecTrack&&e.specStatus!=="REC",e.isRec=e.isRecTrack&&e.specStatus==="REC",e.notRec=e.specStatus!=="REC",e.isUnofficial=e.specStatus==="unofficial",e.prependW3C=!e.isUnofficial,e.isED=e.specStatus==="ED",e.isLC=e.specStatus==="LC"||e.specStatus==="FPLC",e.isCR=e.specStatus==="CR",e.isPR=e.specStatus==="PR",e.isMO=e.specStatus==="MO",e.isIGNote=e.specStatus==="IG-NOTE",e.dashDate=t.concatDate(e.publishDate,"-"),$("body",o).prepend($(e.isCGBG?i(e):n(e))).addClass("h-entry");var p=$("#sotd");(e.isCGBG||!e.isNoTrack||e.isTagFinding)&&!p.length&&a.pub("error","A custom SotD paragraph is required for your type of document."),e.sotdCustomParagraph=p.html(),p.remove();if($.isArray(e.wg)){e.multipleWGs=e.wg.length>1,e.wgHTML=t.joinAnd($.isArray(e.wg)?e.wg:[e.wg],function(t,n){return"<a href='"+e.wgURI[n]+"'>"+t+"</a>"});var d=[];for(var v=0,m=e.wg.length;v<m;v++)d.push("<a href='"+e.wgPatentURI[v]+"' rel='disclosure'>"+e.wg[v]+"</a>");e.wgPatentHTML=d.join(", ")}else e.multipleWGs=!1,e.wgHTML="<a href='"+e.wgURI+"'>"+e.wg+"</a>";e.isLC&&!e.lcEnd&&a.pub("error","Status is LC but no lcEnd is specified"),e.specStatus==="PR"&&!e.lcEnd&&a.pub("error","Status is PR but no lcEnd is specified (needed to indicate end of previous LC)"),e.humanLCEnd=t.humanDate(e.lcEnd||""),e.specStatus==="CR"&&!e.crEnd&&a.pub("error","Status is CR but no crEnd is specified"),e.humanCREnd=t.humanDate(e.crEnd||""),e.specStatus==="PR"&&!e.prEnd&&a.pub("error","Status is PR but no prEnd is specified"),e.humanPREnd=t.humanDate(e.prEnd||""),e.recNotExpected=!e.isRecTrack&&e.maturity=="WD"&&e.specStatus!=="FPWD-NOTE",e.isIGNote&&!e.charterDisclosureURI&&a.pub("error","IG-NOTEs must link to charter's disclosure section using charterDisclosureURI"),$(e.isCGBG?s(e):r(e)).insertAfter($("#abstract")),a.pub("end","w3c/headers"),u()}}}),define("w3c/abstract",[],function(){return{run:function(e,t,n,r){r.pub("start","w3c/abstract");var i=$("#abstract");if(!i)return r.pub("error","Document must have one element with ID 'abstract'");i.find("p").length===0&&i.contents().wrapAll($("<p></p>")),i.prepend("<h2>Abstract</h2>"),i.addClass("introductory"),r.pub("end","w3c/abstract"),n()}}}),define("tmpl!w3c/templates/conformance.html",["handlebars"],function(e){return Handlebars.compile("<h2>Conformance</h2>\n<p>\n  As well as sections marked as non-normative, all authoring guidelines, diagrams, examples,\n  and notes in this specification are non-normative. Everything else in this specification is\n  normative.\n</p>\n<p>\n  The keywords MUST, MUST NOT, SHALL, SHALL NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY,\n  and OPTIONAL in this specification are to be interpreted as described in [[!RFC2119]].\n</p>\n")}),define("w3c/conformance",["tmpl!w3c/templates/conformance.html"],function(e){return{run:function(t,n,r,i){i.pub("start","w3c/conformance");var s=$("#conformance");s.length&&s.prepend(e(t)),i.pub("end","w3c/conformance"),r()}}}),define("core/data-transform",["core/utils"],function(e){return{run:function(t,n,r,i){i.pub("start","w3c/data-transform"),$("[data-transform]",n).each(function(t,n){var r=$(n),i=r.attr("data-transform");r.removeAttr("data-transform");var s=e.runTransforms(r.html(),i);s&&r.html(s)}),i.pub("end","w3c/data-transform"),r()}}}),define("core/data-include",["core/utils"],function(e){return{run:function(t,n,r,i){i.pub("start","w3c/data-include");var s=$("[data-include]"),o=s.length,u=function(e){e.removeAttr("data-include"),e.removeAttr("data-oninclude"),e.removeAttr("data-include-format"),o--,o<=0&&(i.pub("end","w3c/data-include"),r())};o||(i.pub("end","w3c/data-include"),r()),s.each(function(){var t=$(this),n=t.attr("data-include"),r=t.attr("data-include-format")||"html";$.ajax({dataType:r,url:n,success:function(i,s,o){if(i){var a=t.attr("data-oninclude");a&&(i=e.runTransforms(i,a,n)),r==="text"?t.text(i):t.html(i)}u(t)},error:function(e,r,s){i.pub("error","Error including URI="+n+": "+r+" ("+s+")"),u(t)}})})}}}),define("core/inlines",["core/utils"],function(){return{run:function(e,t,n,r){r.pub("start","core/inlines"),t.normalize(),e.normativeReferences||(e.normativeReferences={}),e.informativeReferences||(e.informativeReferences={});var i={},s={};$("abbr[title]",t).each(function(){i[$(this).text()]=$(this).attr("title")}),$("acronym[title]",t).each(function(){s[$(this).text()]=$(this).attr("title")});var o=[];for(var u in i)o.push(u);for(var u in s)o.push(u);o.sort(function(e,t){return t.length<e.length?-1:e.length<t.length?1:0});var a=o.length?"(?:\\b"+o.join("\\b)|(?:\\b")+"\\b)":null,f=$("body",t).allTextNodes(["pre"]),l=new RegExp("(\\bMUST(?:\\s+NOT)?\\b|\\bSHOULD(?:\\s+NOT)?\\b|\\bSHALL(?:\\s+NOT)?\\b|\\bMAY\\b|\\b(?:NOT\\s+)?REQUIRED\\b|\\b(?:NOT\\s+)?RECOMMENDED\\b|\\bOPTIONAL\\b|(?:\\[\\[(?:!|\\\\)?[A-Za-z0-9-]+\\]\\])"+(a?"|"+a:"")+")");for(var c=0;c<f.length;c++){var h=f[c],p=h.data.split(l);if(p.length===1)continue;var d=t.createDocumentFragment();while(p.length){var v=p.shift(),m=null;p.length&&(m=p.shift()),d.appendChild(t.createTextNode(v));if(m)if(/MUST(?:\s+NOT)?|SHOULD(?:\s+NOT)?|SHALL(?:\s+NOT)?|MAY|(?:NOT\s+)?REQUIRED|(?:NOT\s+)?RECOMMENDED|OPTIONAL/.test(m))d.appendChild($("<em/>").attr({"class":"rfc2119",title:m}).text(m)[0]);else if(/^\[\[/.test(m)){var g=m;g=g.replace(/^\[\[/,""),g=g.replace(/\]\]$/,"");if(g.indexOf("\\")===0)d.appendChild(t.createTextNode("[["+g.replace(/^\\/,"")+"]]"));else{var y=!1;g.indexOf("!")===0&&(y=!0,g=g.replace(/^!/,"")),y?e.normativeReferences[g]=!0:e.informativeReferences[g]=!0,d.appendChild(t.createTextNode("[")),d.appendChild($("<cite/>").wrapInner($("<a/>").attr({"class":"bibref",href:"#bib-"+g}).text(g))[0]),d.appendChild(t.createTextNode("]"))}}else i[m]?$(h).parents("abbr").length?d.appendChild(t.createTextNode(m)):d.appendChild($("<abbr/>").attr({title:i[m]}).text(m)[0]):s[m]?$(h).parents("acronym").length?d.appendChild(t.createTextNode(m)):d.appendChild($("<acronym/>").attr({title:s[m]}).text(m)[0]):r.pub("error","Found token '"+m+"' but it does not correspond to anything")}h.parentNode.replaceChild(d,h)}r.pub("end","core/inlines"),n()}}}),define("text!core/css/examples.css",[],function(){return"/* --- EXAMPLES --- */\ndiv.example-title {\n    min-width: 7.5em;\n    color: #b9ab2d;\n}\ndiv.example-title span {\n    text-transform: uppercase;   \n}\naside.example, div.example, div.illegal-example {\n    padding: 0.5em;\n    margin: 1em 0;\n    position: relative;\n    clear: both;\n}\ndiv.illegal-example { color: red }\ndiv.illegal-example p { color: black }\naside.example, div.example {\n    padding: .5em;\n    border-left-width: .5em;\n    border-left-style: solid;\n    border-color: #e0cb52;\n    background: #fcfaee;    \n}\n\naside.example div.example {\n    border-left-width: .1em;\n    border-color: #999;\n    background: #fff;\n}\naside.example div.example div.example-title {\n    color: #999;\n}\n"}),define("core/examples",["text!core/css/examples.css"],function(e){var t=function(e,t,n){var r=t>0?" "+t:"",i=$("<div class='example-title'><span>Example"+r+"</span></div>");return n.title=e.attr("title"),n.title&&(i.append(e[0].ownerDocument.createTextNode(": "+n.title)),e.removeAttr("title")),i};return{run:function(n,r,i,s){s.pub("start","core/examples");var o=$("pre.example, pre.illegal-example, aside.example"),u=0;o.length&&($(r).find("head link").first().before($("<style/>").text(e)),o.each(function(e,n){var r=$(n),i={number:u,illegal:r.hasClass("illegal-example")};if(r.is("aside")){u++;var o=t(r,u,i);r.prepend(o),s.pub("example",i)}else{var a=!!r.parents("aside").length;a||u++;var f=r.html().split("\n");while(f.length&&/^\s*$/.test(f[0]))f.shift();while(f.length&&/^\s*$/.test(f[f.length-1]))f.pop();var l=/^(\s+)/.exec(f[0]);if(l){var c=new RegExp("^"+l[1]);for(var h=0;h<f.length;h++)f[h]=f[h].replace(c,"")}i.content=f.join("\n"),r.html(f.join("\n"));var p=$("<div class='example'></div>"),o=t(r,a?0:u,i);p.append(o),p.append(r.clone()),r.replaceWith(p),a||s.pub("example",i)}})),s.pub("end","core/examples"),i()}}}),define("text!core/css/issues-notes.css",[],function(){return"/* --- ISSUES/NOTES --- */\ndiv.issue-title, div.note-title {\n    padding-right:  1em;\n    min-width: 7.5em;\n    color: #b9ab2d;\n}\ndiv.issue-title { color: #e05252; }\ndiv.note-title { color: #2b2; }\ndiv.issue-title span, div.note-title span {\n    text-transform: uppercase;\n}\ndiv.note, div.issue {\n    margin-top: 1em;\n    margin-bottom: 1em;\n}\n.note > p:first-child, .issue > p:first-child { margin-top: 0 }\n.issue, .note {\n    padding: .5em;\n    border-left-width: .5em;\n    border-left-style: solid;\n}\ndiv.issue, div.note {\n    padding: 1em 1.2em 0.5em;\n    margin: 1em 0;\n    position: relative;\n    clear: both;\n}\nspan.note, span.issue { padding: .1em .5em .15em; }\n\n.issue {\n    border-color: #e05252;\n    background: #fbe9e9;\n}\n.note {\n    border-color: #52e052;\n    background: #e9fbe9;\n}\n\n\n"}),define("core/issues-notes",["text!core/css/issues-notes.css"],function(e){return{run:function(t,n,r,i){i.pub("start","core/issues-notes");var s=$(".issue, .note");if(s.length){$(n).find("head link").first().before($("<style/>").text(e));var o=$(".issue[data-number]").length>0,u=0;s.each(function(e,r){var s=$(r),a=s.hasClass("issue"),f=s.hasClass("atrisk"),l=s.css("display")!="block",c=s.attr("data-number"),h={inline:l,content:s.html()};h.type=a?"issue":"note",a&&!l&&!o?(u++,h.number=u):c&&(h.number=c);if(!l){var p=$("<div class='"+h.type+(f?" atrisk":"")+"'></div>"),d=$("<div class='"+h.type+"-title' role='heading'><span></span></div>"),v=a?f?"Feature at Risk":"Issue":"Note",m=s.parents("section").length+2;d.attr("aria-level",m),a&&(o?c&&(v+=" "+c,!f&&t.issueBase?d.find("span").wrap($("<a href='"+t.issueBase+c+"'/>")):f&&t.atRiskBase&&d.find("span").wrap($("<a href='"+t.atRiskBase+c+"'/>"))):v+=" "+u),d.find("span").text(v),h.title=s.attr("title"),h.title&&(d.append(n.createTextNode(": "+h.title)),s.removeAttr("title")),p.append(d),p.append(s.clone().removeClass(h.type).removeAttr("data-number")),s.replaceWith(p)}i.pub(h.type,h)})}i.pub("end","core/issues-notes"),r()}}}),define("core/requirements",[],function(){return{run:function(e,t,n,r){r.pub("start","core/requirements"),$(".req").each(function(e){e++;var t=$(this),n="Req. "+e;r.pub("req",{type:"req",number:e,content:t.html(),title:n}),t.prepend("<a href='#"+t.attr("id")+"'>"+n+"</a>: ")}),$("a.reqRef").each(function(){var e=$(this),t=e.attr("href"),n,r,i;if(!t)return;n=t.substring(1),r=$("#"+n),r.length?i=r.find("> a").text():i="Req. not found '"+n+"'",e.text(i)}),r.pub("end","core/requirements"),n()}}}),define("text!core/css/highlight.css",[],function(){return"/* HIGHLIGHTS */\ncode.prettyprint {\n    color:  inherit;\n}\n\n/* this from google-code-prettify */\n.pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}\n"}),define("core/highlight",["text!core/css/highlight.css"],function(e){return{run:function(t,n,r,i){i.pub("start","core/highlight");var s="sh_css sh_html sh_javascript sh_javascript_dom sh_xml".split(" ");for(var o=0,u=s.length;o<u;o++){var a=s[o];$("."+a).each(function(){$(this).removeClass(a).addClass("highlight")})}var f=$("pre.highlight, code.highlight"),l=function(){i.pub("end","core/highlight"),r()};f.length?($(n).find("head link").first().before($("<style/>").text(e)),f.addClass("prettyprint"),prettyPrint(l)):l()}}}),window.PR_SHOULD_USE_CONTINUATION=!0,function(){function L(e){function a(e){var t=e.charCodeAt(0);if(t!==92)return t;var n=e.charAt(1);return t=u[n],t?t:"0"<=n&&n<="7"?parseInt(e.substring(1),8):n==="u"||n==="x"?parseInt(e.substring(2),16):e.charCodeAt(1)}function f(e){if(e<32)return(e<16?"\\x0":"\\x")+e.toString(16);var t=String.fromCharCode(e);if(t==="\\"||t==="-"||t==="["||t==="]")t="\\"+t;return t}function l(e){var t=e.substring(1,e.length-1).match(new RegExp("\\\\u[0-9A-Fa-f]{4}|\\\\x[0-9A-Fa-f]{2}|\\\\[0-3][0-7]{0,2}|\\\\[0-7]{1,2}|\\\\[\\s\\S]|-|[^-\\\\]","g")),n=[],r=[],i=t[0]==="^";for(var s=i?1:0,o=t.length;s<o;++s){var u=t[s];if(/\\[bdsw]/i.test(u))n.push(u);else{var l=a(u),c;s+2<o&&"-"===t[s+1]?(c=a(t[s+2]),s+=2):c=l,r.push([l,c]),c<65||l>122||(c<65||l>90||r.push([Math.max(65,l)|32,Math.min(c,90)|32]),c<97||l>122||r.push([Math.max(97,l)&-33,Math.min(c,122)&-33]))}}r.sort(function(e,t){return e[0]-t[0]||t[1]-e[1]});var h=[],p=[NaN,NaN];for(var s=0;s<r.length;++s){var d=r[s];d[0]<=p[1]+1?p[1]=Math.max(p[1],d[1]):h.push(p=d)}var v=["["];i&&v.push("^"),v.push.apply(v,n);for(var s=0;s<h.length;++s){var d=h[s];v.push(f(d[0])),d[1]>d[0]&&(d[1]+1>d[0]&&v.push("-"),v.push(f(d[1])))}return v.push("]"),v.join("")}function c(e){var r=e.source.match(new RegExp("(?:\\[(?:[^\\x5C\\x5D]|\\\\[\\s\\S])*\\]|\\\\u[A-Fa-f0-9]{4}|\\\\x[A-Fa-f0-9]{2}|\\\\[0-9]+|\\\\[^ux0-9]|\\(\\?[:!=]|[\\(\\)\\^]|[^\\x5B\\x5C\\(\\)\\^]+)","g")),i=r.length,s=[];for(var o=0,u=0;o<i;++o){var a=r[o];if(a==="(")++u;else if("\\"===a.charAt(0)){var f=+a.substring(1);f&&f<=u&&(s[f]=-1)}}for(var o=1;o<s.length;++o)-1===s[o]&&(s[o]=++t);for(var o=0,u=0;o<i;++o){var a=r[o];if(a==="(")++u,s[u]===undefined&&(r[o]="(?:");else if("\\"===a.charAt(0)){var f=+a.substring(1);f&&f<=u&&(r[o]="\\"+s[u])}}for(var o=0,u=0;o<i;++o)"^"===r[o]&&"^"!==r[o+1]&&(r[o]="");if(e.ignoreCase&&n)for(var o=0;o<i;++o){var a=r[o],c=a.charAt(0);a.length>=2&&c==="["?r[o]=l(a):c!=="\\"&&(r[o]=a.replace(/[a-zA-Z]/g,function(e){var t=e.charCodeAt(0);return"["+String.fromCharCode(t&-33,t|32)+"]"}))}return r.join("")}var t=0,n=!1,r=!1;for(var i=0,s=e.length;i<s;++i){var o=e[i];if(o.ignoreCase)r=!0;else if(/[a-z]/i.test(o.source.replace(/\\u[0-9a-f]{4}|\\x[0-9a-f]{2}|\\[^ux]/gi,""))){n=!0,r=!1;break}}var u={b:8,t:9,n:10,v:11,f:12,r:13},h=[];for(var i=0,s=e.length;i<s;++i){var o=e[i];if(o.global||o.multiline)throw new Error(""+o);h.push("(?:"+c(o)+")")}return new RegExp(h.join("|"),r?"gi":"g")}function A(e){function a(e){switch(e.nodeType){case 1:if(t.test(e.className))return;for(var o=e.firstChild;o;o=o.nextSibling)a(o);var f=e.nodeName;if("BR"===f||"LI"===f)n[s]="\n",i[s<<1]=r++,i[s++<<1|1]=e;break;case 3:case 4:var l=e.nodeValue;l.length&&(u?l=l.replace(/\r\n?/g,"\n"):l=l.replace(/[ \t\r\n]+/g," "),n[s]=l,i[s<<1]=r,r+=l.length,i[s++<<1|1]=e)}}var t=/(?:^|\s)nocode(?:\s|$)/,n=[],r=0,i=[],s=0,o;e.currentStyle?o=e.currentStyle.whiteSpace:document.defaultView.getComputedStyle&&document.defaultView.getComputedStyle(e,null)&&(o=document.defaultView.getComputedStyle(e,null).getPropertyValue("white-space"));var u=o&&"pre"===o.substring(0,3);return a(e),{sourceCode:n.join("").replace(/\n$/,""),spans:i}}function O(e,t,n,r){if(!t)return;var i={sourceCode:t,basePos:e};n(i),r.push.apply(r,i.decorations)}function _(e){var t=undefined;for(var n=e.firstChild;n;n=n.nextSibling){var r=n.nodeType;t=r===1?t?e:n:r===3?M.test(n.nodeValue)?e:t:t}return t===e?undefined:t}function D(e,t){var n={},r;(function(){var i=e.concat(t),s=[],o={};for(var u=0,a=i.length;u<a;++u){var f=i[u],l=f[3];if(l)for(var c=l.length;--c>=0;)n[l.charAt(c)]=f;var h=f[1],p=""+h;o.hasOwnProperty(p)||(s.push(h),o[p]=null)}s.push(/[\0-\uffff]/),r=L(s)})();var i=t.length,s=function(e){var o=e.sourceCode,u=e.basePos,a=[u,w],f=0,l=o.match(r)||[],c={};for(var h=0,p=l.length;h<p;++h){var d=l[h],v=c[d],m=void 0,g;if(typeof v=="string")g=!1;else{var y=n[d.charAt(0)];if(y)m=d.match(y[1]),v=y[0];else{for(var b=0;b<i;++b){y=t[b],m=d.match(y[1]);if(m){v=y[0];break}}m||(v=w)}g=v.length>=5&&"lang-"===v.substring(0,5),g&&(!m||typeof m[1]!="string")&&(g=!1,v=x),g||(c[d]=v)}var E=f;f+=d.length;if(!g)a.push(u+E,v);else{var S=m[1],T=d.indexOf(S),N=T+S.length;m[2]&&(N=d.length-m[2].length,T=N-S.length);var C=v.substring(5);O(u+E,d.substring(0,T),s,a),O(u+E+T,S,q(C,S),a),O(u+E+N,d.substring(N),s,a)}}e.decorations=a};return s}function P(e){var t=[],n=[];e.tripleQuotedStrings?t.push([d,/^(?:\'\'\'(?:[^\'\\]|\\[\s\S]|\'{1,2}(?=[^\']))*(?:\'\'\'|$)|\"\"\"(?:[^\"\\]|\\[\s\S]|\"{1,2}(?=[^\"]))*(?:\"\"\"|$)|\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$))/,null,"'\""]):e.multiLineStrings?t.push([d,/^(?:\'(?:[^\\\']|\\[\s\S])*(?:\'|$)|\"(?:[^\\\"]|\\[\s\S])*(?:\"|$)|\`(?:[^\\\`]|\\[\s\S])*(?:\`|$))/,null,"'\"`"]):t.push([d,/^(?:\'(?:[^\\\'\r\n]|\\.)*(?:\'|$)|\"(?:[^\\\"\r\n]|\\.)*(?:\"|$))/,null,"\"'"]),e.verbatimStrings&&n.push([d,/^@\"(?:[^\"]|\"\")*(?:\"|$)/,null]);var r=e.hashComments;r&&(e.cStyleComments?(r>1?t.push([m,/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,null,"#"]):t.push([m,/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\r\n]*)/,null,"#"]),n.push([d,/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,null])):t.push([m,/^#[^\r\n]*/,null,"#"])),e.cStyleComments&&(n.push([m,/^\/\/[^\r\n]*/,null]),n.push([m,/^\/\*[\s\S]*?(?:\*\/|$)/,null]));if(e.regexLiterals){var i="/(?=[^/*])(?:[^/\\x5B\\x5C]|\\x5C[\\s\\S]|\\x5B(?:[^\\x5C\\x5D]|\\x5C[\\s\\S])*(?:\\x5D|$))+/";n.push(["lang-regex",new RegExp("^"+k+"("+i+")")])}var s=e.types;s&&n.push([g,s]);var o=(""+e.keywords).replace(/^ | $/g,"");return o.length&&n.push([v,new RegExp("^(?:"+o.replace(/[\s,]+/g,"|")+")\\b"),null]),t.push([w,/^\s+/,null," \r\n	 "]),n.push([y,/^@[a-z_$][a-z_$@0-9]*/i,null],[g,/^(?:[@_]?[A-Z]+[a-z][A-Za-z_$@0-9]*|\w+_t\b)/,null],[w,/^[a-z_$][a-z_$@0-9]*/i,null],[y,new RegExp("^(?:0x[a-f0-9]+|(?:\\d(?:_\\d+)*\\d*(?:\\.\\d*)?|\\.\\d\\+)(?:e[+\\-]?\\d+)?)[a-z]*","i"),null,"0123456789"],[w,/^\\[\s\S]?/,null],[b,/^.[^\s\w\.$@\'\"\`\/\#\\]*/,null]),D(t,n)}function B(e,t){function f(e){switch(e.nodeType){case 1:if(n.test(e.className))break;if("BR"===e.nodeName)l(e),e.parentNode&&e.parentNode.removeChild(e);else for(var t=e.firstChild;t;t=t.nextSibling)f(t);break;case 3:case 4:if(o){var s=e.nodeValue,u=s.match(r);if(u){var a=s.substring(0,u.index);e.nodeValue=a;var c=s.substring(u.index+u[0].length);if(c){var h=e.parentNode;h.insertBefore(i.createTextNode(c),e.nextSibling)}l(e),a||e.parentNode.removeChild(e)}}}}function l(e){function t(e,n){var r=n?e.cloneNode(!1):e,i=e.parentNode;if(i){var s=t(i,1),o=e.nextSibling;s.appendChild(r);for(var u=o;u;u=o)o=u.nextSibling,s.appendChild(u)}return r}while(!e.nextSibling){e=e.parentNode;if(!e)return}var n=t(e.nextSibling,0);for(var r;(r=n.parentNode)&&r.nodeType===1;)n=r;a.push(n)}var n=/(?:^|\s)nocode(?:\s|$)/,r=/\r\n?|\n/,i=e.ownerDocument,s;e.currentStyle?s=e.currentStyle.whiteSpace:window.getComputedStyle&&(s=i.defaultView.getComputedStyle(e,null).getPropertyValue("white-space"));var o=s&&"pre"===s.substring(0,3),u=i.createElement("LI");while(e.firstChild)u.appendChild(e.firstChild);var a=[u];for(var c=0;c<a.length;++c)f(a[c]);t===(t|0)&&a[0].setAttribute("value",t);var h=i.createElement("OL");h.className="linenums";var p=Math.max(0,t-1|0)||0;for(var c=0,d=a.length;c<d;++c)u=a[c],u.className="L"+(c+p)%10,u.firstChild||u.appendChild(i.createTextNode(" ")),h.appendChild(u);e.appendChild(h)}function j(e){var t=/\bMSIE\b/.test(navigator.userAgent),n=/\n/g,r=e.sourceCode,i=r.length,s=0,o=e.spans,u=o.length,a=0,f=e.decorations,l=f.length,c=0;f[l]=i;var h,p;for(p=h=0;p<l;)f[p]!==f[p+2]?(f[h++]=f[p++],f[h++]=f[p++]):p+=2;l=h;for(p=h=0;p<l;){var d=f[p],v=f[p+1],m=p+2;while(m+2<=l&&f[m+1]===v)m+=2;f[h++]=d,f[h++]=v,p=m}l=f.length=h;var g=null;while(a<u){var y=o[a],b=o[a+2]||i,w=f[c],E=f[c+2]||i,m=Math.min(b,E),S=o[a+1],x;if(S.nodeType!==1&&(x=r.substring(s,m))){t&&(x=x.replace(n,"\r")),S.nodeValue=x;var T=S.ownerDocument,N=T.createElement("SPAN");N.className=f[c+1];var C=S.parentNode;C.replaceChild(N,S),N.appendChild(S),s<b&&(o[a+1]=S=T.createTextNode(r.substring(m,b)),C.insertBefore(S,N.nextSibling))}s=m,s>=b&&(a+=2),s>=E&&(c+=2)}}function I(e,t){for(var n=t.length;--n>=0;){var r=t[n];F.hasOwnProperty(r)?window.console&&console.warn("cannot override language handler %s",r):F[r]=e}}function q(e,t){if(!e||!F.hasOwnProperty(e))e=/^\s*</.test(t)?"default-markup":"default-code";return F[e]}function R(e){var t=e.langExtension;try{var n=A(e.sourceNode),r=n.sourceCode;e.sourceCode=r,e.spans=n.spans,e.basePos=0,q(t,r)(e),j(e)}catch(i){"console"in window&&console.log(i&&i.stack?i.stack:i)}}function U(e,t,n){var r=document.createElement("PRE");r.innerHTML=e,n&&B(r,n);var i={langExtension:t,numberLines:n,sourceNode:r};return R(i),r.innerHTML}function z(e){function t(e){return document.getElementsByTagName(e)}function h(){var t=window.PR_SHOULD_USE_CONTINUATION?u.now()+250:Infinity;for(;a<r.length&&u.now()<t;a++){var n=r[a],i=n.className;if(i.indexOf("prettyprint")>=0){var s=i.match(l),o;!s&&(o=_(n))&&"CODE"===o.tagName&&(s=o.className.match(l)),s&&(s=s[1]);var c=!1;for(var p=n.parentNode;p;p=p.parentNode)if((p.tagName==="pre"||p.tagName==="code"||p.tagName==="xmp")&&p.className&&p.className.indexOf("prettyprint")>=0){c=!0;break}if(!c){var d=n.className.match(/\blinenums\b(?::(\d+))?/);d=d?d[1]&&d[1].length?+d[1]:!0:!1,d&&B(n,d),f={langExtension:s,sourceNode:n,numberLines:d},R(f)}}}a<r.length?setTimeout(h,250):e&&e()}var n=[t("pre"),t("code"),t("xmp")],r=[];for(var i=0;i<n.length;++i)for(var s=0,o=n[i].length;s<o;++s)r.push(n[i][s]);n=null;var u=Date;u.now||(u={now:function(){return+(new Date)}});var a=0,f,l=/\blang(?:uage)?-([\w.]+)(?!\S)/,c=/\bprettyprint\b/;h()}var e=["break,continue,do,else,for,if,return,while"],t=[e,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],n=[t,"catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],r=[n,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],i=[n,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],s=[i,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],o="all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",u=[n,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],a="caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",f=[e,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],l=[e,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],c=[e,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],h=[r,s,u,a+f,l,c],p=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,d="str",v="kwd",m="com",g="typ",y="lit",b="pun",w="pln",E="tag",S="dec",x="src",T="atn",N="atv",C="nocode",k="(?:^^\\.?|[+-]|\\!|\\!=|\\!==|\\#|\\%|\\%=|&|&&|&&=|&=|\\(|\\*|\\*=|\\+=|\\,|\\-=|\\->|\\/|\\/=|:|::|\\;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|\\?|\\@|\\[|\\^|\\^=|\\^\\^|\\^\\^=|\\{|\\||\\|=|\\|\\||\\|\\|=|\\~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\\s*",M=/\S/,H=P({keywords:h,hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),F={};I(H,["default-code"]),I(D([],[[w,/^[^<?]+/],[S,/^<!\w[^>]*(?:>|$)/],[m,/^<\!--[\s\S]*?(?:-\->|$)/],["lang-",/^<\?([\s\S]+?)(?:\?>|$)/],["lang-",/^<%([\s\S]+?)(?:%>|$)/],[b,/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\s\S]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\s\S]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\s\S]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),["default-markup","htm","html","mxml","xhtml","xml","xsl"]),I(D([[w,/^[\s]+/,null," 	\r\n"],[N,/^(?:\"[^\"]*\"?|\'[^\']*\'?)/,null,"\"'"]],[[E,/^^<\/?[a-z](?:[\w.:-]*\w)?|\/?>$/i],[T,/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^>\'\"\s]*(?:[^>\'\"\s\/]|\/(?=\s)))/],[b,/^[=<>\/]+/],["lang-js",/^on\w+\s*=\s*\"([^\"]+)\"/i],["lang-js",/^on\w+\s*=\s*\'([^\']+)\'/i],["lang-js",/^on\w+\s*=\s*([^\"\'>\s]+)/i],["lang-css",/^style\s*=\s*\"([^\"]+)\"/i],["lang-css",/^style\s*=\s*\'([^\']+)\'/i],["lang-css",/^style\s*=\s*([^\"\'>\s]+)/i]]),["in.tag"]),I(D([],[[N,/^[\s\S]+/]]),["uq.val"]),I(P({keywords:r,hashComments:!0,cStyleComments:!0,types:p}),["c","cc","cpp","cxx","cyc","m"]),I(P({keywords:"null,true,false"}),["json"]),I(P({keywords:s,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:p}),["cs"]),I(P({keywords:i,cStyleComments:!0}),["java"]),I(P({keywords:c,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]),I(P({keywords:f,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),["cv","py"]),I(P({keywords:a,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]),I(P({keywords:l,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]),I(P({keywords:u,cStyleComments:!0,regexLiterals:!0}),["js"]),I(P({keywords:o,hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]),I(D([],[[d,/^[\s\S]+/]]),["regex"]),window.prettyPrintOne=U,window.prettyPrint=z,window.PR={createSimpleLexer:D,registerLangHandler:I,sourceDecorator:P,PR_ATTRIB_NAME:T,PR_ATTRIB_VALUE:N,PR_COMMENT:m,PR_DECLARATION:S,PR_KEYWORD:v,PR_LITERAL:y,PR_NOCODE:C,PR_PLAIN:w,PR_PUNCTUATION:b,PR_SOURCE:x,PR_STRING:d,PR_TAG:E,PR_TYPE:g}}(),define("text!core/css/bp.css",[],function(){return"/* --- Best Practices --- */\ndiv.practice {\n    border: solid #bebebe 1px;\n    margin: 2em 1em 1em 2em;\n}\n\nspan.practicelab {\n    margin: 1.5em 0.5em 1em 1em;\n    font-weight: bold;\n    font-style: italic;\n    background: #dfffff;\n    position: relative;\n    padding: 0 0.5em;\n    top: -1.5em;\n}\n\np.practicedesc {\n    margin: 1.5em 0.5em 1em 1em;\n}\n\n@media screen {\n    p.practicedesc {\n        position: relative;\n        top: -2em;\n        padding: 0;\n        margin: 1.5em 0.5em -1em 1em;\n    }\n}\n"}),define("core/best-practices",["text!core/css/bp.css"],function(e){return{run:function(t,n,r,i){i.pub("start","core/best-practices");var s=0,o=$("span.practicelab",n),u=$("<div><h2>Best Practices Summary</h2><ul></ul></div>"),a=u.find("ul");o.each(function(){var e=$(this),t=e.makeID("bp"),r=$("<li><a></a></li>"),i=r.find("a");s++,i.attr("href","#"+t).text("Best Practice "+s),r.append(n.createTextNode(": "+e.text())),a.append(r),e.prepend(n.createTextNode("Best Practice "+s+": "))}),o.length?($(n).find("head link").first().before($("<style/>").text(e)),$("#bp-summary")&&$("#bp-summary").append(u.contents())):$("#bp-summary").remove(),i.pub("end","core/best-practices"),r()}}}),define("core/figures",[],function(){return{run:function(e,t,n,r){r.pub("start","core/figures"),$(".figure",t).each(function(e,t){var n=$(t),r=n.attr("title")||n.find("[title]").attr("title")||n.attr("alt")||n.find("[alt]").attr("alt")||"",i=$("<figcaption/>").text(r);n.is("div")?(n.append(i),n.renameElement("figure")):(n.wrap("<figure></figure>"),n.parent().append(i))});var i={},s=[],o=0;$("figure").each(function(){var e=$(this),n=e.find("figcaption"),r=n.text(),u=e.makeID("fig",r);o++,n.html("").append(t.createTextNode("Fig. ")).append($("<span class='figno'>"+o+"</span>")).append(t.createTextNode(" ")).append($("<span class='fig-title'/>").text(r)),i[u]=n.contents().clone(),s.push($("<li class='tofline'><a class='tocxref' href='#"+u+"'></a></li>").find(".tocxref").append(n.contents().clone()).end())}),$("a[href]",t).each(function(){var e=$(this),t=e.attr("href");if(!t)return;t=t.substring(1),i[t]&&(e.addClass("fig-ref"),e.html()===""&&e.append(i[t]))});var u=$("#tof",t);if(s.length&&u.length){!u.hasClass("appendix")&&!u.hasClass("introductory")&&!u.parents("section").length&&(u.prevAll("section.introductory").length==u.prevAll("section").length?u.addClass("introductory"):u.prevAll("appendix").length&&u.addClass("appendix")),u.append($("<h2>Table of Figures</h2>")),u.append($("<ul class='tof'/>"));var a=u.find("ul");while(s.length)a.append(s.shift())}r.pub("end","core/figures"),n()}}});var sn;(function(){function e(){var e="respec-err",t=document.getElementById(e);if(t)return t.firstElementChild.nextElementSibling;t=sn.element("div",{id:e,style:"position: fixed; width: 350px; top: 10px; right: 10px; border: 3px double #f00; background: #fff","class":"removeOnSave"},document.body);var n=sn.element("p",{style:"float: right; margin: 2px; text-decoration: none"},t);sn.text("[",n);var r=sn.element("a",{href:"#"},n,"x");return r.onclick=function(){return document.getElementById(e).style.display="none",!1},sn.text("]",n),sn.element("ul",{style:"clear: both"},t)}function t(t){window.respecEvent&&respecEvent.pub("error",t),sn.element("li",{style:"color: #c00"},e(),t)}function n(t){window.respecEvent&&respecEvent.pub("warn",t),sn.element("li",{style:"color: #666"},e(),t)}window.setBerjonBiblio=function(e){berjon.biblio=e},typeof berjon=="undefined"&&(window.berjon={}),berjon.respec=function(){},berjon.respec.prototype={loadAndRun:function(e,t,n,r){function a(){i<=0&&(sn=new berjon.simpleNode({"":"http://www.w3.org/1999/xhtml",x:"http://www.w3.org/1999/xhtml"},document),u.run(e,t,n,r))}function f(){i--,a()}var i=0,s=this.findBase(),o=[s+"js/simple-node.js",s+"js/shortcut.js"],u=this,l,c=this.getRefKeys(e);c=c.normativeReferences.concat(c.informativeReferences),c.length&&(i++,l="http://specref.jit.su/bibrefs?callback=setBerjonBiblio&refs="+c.join(","),this.loadScript(l,f));if(!berjon.simpleNode)for(var h=0;h<o.length;h++)i++,this.loadScript(o[h],f);a()},findBase:function(){var e=document.querySelectorAll("script[src]"),t="",n;for(var r=0;r<e.length;r++)n=e[r].src,/\/js\/require\.js$/.test(n)&&(t=n.replace(/js\/require\.js$/,""));return t},loadScript:function(e,t){var n=document.createElement("script");n.type="text/javascript",n.src=e,n.setAttribute("class","remove"),n.onload=t,document.getElementsByTagName("head")[0].appendChild(n)},run:function(e,t,n,r){try{this.extractConfig(),this.overrideBiblio(e),this.bibref(e,t,n,r),this.doRDFa&&this.makeRDFa();var i=this;shortcut.add("Ctrl+Shift+Alt+S",function(){i.showSaveOptions()}),shortcut.add("Esc",function(){i.hideSaveOptions()})}catch(s){r.pub("error","Processing error: "+s)}r.pub("end","w3c/legacy"),n()},overrideBiblio:function(e){if(e.localBiblio)for(var t in e.localBiblio)berjon.biblio[t]=e.localBiblio[t]},makeRDFa:function(){var e=document.getElementById("abstract");if(e){var t="dcterms:abstract",n=e.getAttribute("property");n&&(t=n+" "+t),e.setAttribute("property",t),e.setAttribute("datatype","")}var r=document.querySelectorAll("section");for(var i=0;i<r.length;i++){var s="",o=r[i].firstElementChild,n=r[i].getAttribute("id");n?s="#"+n:o&&(n=o.getAttribute("id"),n&&(s="#"+n)),s!==""&&(r[i].setAttribute("typeof","bibo:Chapter"),r[i].setAttribute("resource",s),r[i].setAttribute("rel","bibo:chapter"))}},saveMenu:null,showSaveOptions:function(){var e=this;this.saveMenu=sn.element("div",{style:"position: fixed; width: 400px; top: 10px; padding: 1em; border: 5px solid #90b8de; background: #fff"},document.body),sn.element("h4",{},this.saveMenu,"Save Options");var t=sn.element("button",{},this.saveMenu,"Save as HTML");t.onclick=function(){e.hideSaveOptions(),e.toHTML()};var n=sn.element("button",{},this.saveMenu,"Save as HTML (Source)");n.onclick=function(){e.hideSaveOptions(),e.toHTMLSource()};var n=sn.element("button",{},this.saveMenu,"Save as XHTML");n.onclick=function(){e.hideSaveOptions(),e.toXHTML()};var n=sn.element("button",{},this.saveMenu,"Save as XHTML (Source)");n.onclick=function(){e.hideSaveOptions(),e.toXHTMLSource()};if(this.diffTool&&(this.previousDiffURI||this.previousURI)){var r=sn.element("button",{},this.saveMenu,"Diffmark");r.onclick=function(){e.hideSaveOptions(),e.toDiffHTML()}}},hideSaveOptions:function(){if(!this.saveMenu)return;this.saveMenu.parentNode.removeChild(this.saveMenu)},toString:function(){var e="<!DOCTYPE html",t=document.doctype;t&&t.publicId&&(e+=" PUBLIC '"+t.publicId+"' '"+t.systemId+"'"),e+=">\n",e+="<html";var n=document.documentElement.attributes,r="";for(var i=0;i<n.length;i++){var s=n[i].name;if(s=="xmlns"||s=="xml:lang")continue;if(s=="prefix"){r=n[i].value;continue}e+=" "+s+'="'+this._esc(n[i].value)+'"'}this.doRDFa&&(r!==""&&(r+=" "),this.doRDFa!="1.1"?r+="dcterms: http://purl.org/dc/terms/ bibo: http://purl.org/ontology/bibo/ foaf: http://xmlns.com/foaf/0.1/ xsd: http://www.w3.org/2001/XMLSchema#":r+="bibo: http://purl.org/ontology/bibo/",e+=' prefix="'+this._esc(r)+'"',e+=' typeof="bibo:Document"'),e+=">\n";var o=document.createComment("[if lt IE 9]><script src='"+respecConfig.httpScheme+"://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]");return $("head").append(o),e+=document.documentElement.innerHTML,e+="</html>",e},toXML:function(){var e="<?xml version='1.0' encoding='UTF-8'?>\n<!DOCTYPE html",t=document.doctype;t&&t.publicId?e+=" PUBLIC '"+t.publicId+"' '"+t.systemId+"'":this.doRDFa?this.doRDFa=="1.1"?e+=" PUBLIC '-//W3C//DTD XHTML+RDFa 1.1//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-2.dtd'":e+=" PUBLIC '-//W3C//DTD XHTML+RDFa 1.0//EN' 'http://www.w3.org/MarkUp/DTD/xhtml-rdfa-1.dtd'":e+=" PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'",e+=">\n",e+="<html";var r=document.documentElement.attributes,i="",s=!1;for(var o=0;o<r.length;o++){var u=r[o].name;if(u=="lang")continue;u=="xmlns"&&(s=!0);if(u=="prefix"){i=r[o].value;continue}e+=" "+u+'="'+this._esc(r[o].value)+'"'}s||(e+=' xmlns="http://www.w3.org/1999/xhtml"');if(this.doRDFa){if(this.doRDFa!="1.1"){e+=" xmlns:dcterms='http://purl.org/dc/terms/' xmlns:bibo='http://purl.org/ontology/bibo/' xmlns:foaf='http://xmlns.com/foaf/0.1/' xmlns:xsd='http://www.w3.org/2001/XMLSchema#'";if(i!==""){var a=i.split(/\s+/);for(var o=0;o<a.length;o+=2){var f=a[o];f=f.replace(/:$/,""),e+=" xmlns:"+f+'="'+a[o+1]+'"'}}e+=' version="XHTML+RDFa 1.0"'}else i!==""?e+=" prefix='"+i+" bibo: http://purl.org/ontology/bibo/'":e+=" prefix='bibo: http://purl.org/ontology/bibo/'";e+=' typeof="bibo:Document"'}e+=">\n";var l=this,c={};"br img input area base basefont col isindex link meta param hr".split(" ").forEach(function(e){c[e]=!0});var h=[!1],p=document.createComment("[if lt IE 9]><script src='"+respecConfig.httpScheme+"://www.w3.org/2008/site/js/html5shiv.js'></script><![endif]");$("head").append(p);var d=function(e){var t="";if(e.nodeType==9||e.nodeType==1&&e.nodeName.toLowerCase()=="html")for(var r=0;r<e.childNodes.length;r++)t+=d(e.childNodes[r]);else if(1===e.nodeType){var i=e.nodeName.toLowerCase();t+="<"+i;for(var r=0;r<e.attributes.length;r++){var s=e.attributes[r];t+=" "+s.name+'="'+l._esc(s.value)+'"'}if(c[i])t+=" />";else{t+=">",h.push(i==="style"||i==="script");for(var r=0;r<e.childNodes.length;r++)t+=d(e.childNodes[r]);h.pop(),t+="</"+i+">"}}else 8===e.nodeType?t+="\n<!--"+e.nodeValue+"-->\n":3===e.nodeType||4===e.nodeType?t+=h[h.length-1]?e.nodeValue:l._esc(e.nodeValue):n("Cannot handle serialising nodes of type: "+e.nodeType);return t};return e+=d(document.documentElement),e+="</html>",e},toDiffHTML:function(){var e=window.location.href;e=e.replace(/\/[^\/]*$/,"/");var t="<!DOCTYPE html>\n";t+="<html";var n=document.documentElement.attributes;for(var r=0;r<n.length;r++)t+=" "+n[r].name+'="'+this._esc(n[r].value)+'"';t+=">\n",t+="<head><title>diff form</title></head>\n",t+="<body><form name='form' method='POST' action='"+this.diffTool+"'>\n",t+="<input type='hidden' name='base' value='"+e+"'>\n",this.previousDiffURI?t+="<input type='hidden' name='oldfile' value='"+this.previousDiffURI+"'>\n":t+="<input type='hidden' name='oldfile' value='"+this.previousURI+"'>\n",t+='<input type="hidden" name="newcontent" value="'+this._esc(this.toString())+'">\n',t+="<p>Please wait...</p>",t+="</form></body></html>\n";var i=window.open();i.document.write(t),i.document.close(),i.document.form.submit()},toHTML:function(){var e=window.open();e.document.write(this.toString()),e.document.close()},toHTMLSource:function(){var e=window.open();e.document.write("<pre>"+this._esc(this.toString())+"</pre>"),e.document.close()},toXHTML:function(){var e=window.open();e.document.write(this.toXML()),e.document.close()},toXHTMLSource:function(){var e=window.open();e.document.write("<pre>"+this._esc(this.toXML())+"</pre>"),e.document.close()},extractConfig:function(){var e=respecConfig||{};e.diffTool||(e.diffTool="http://www5.aptest.com/standards/htmldiff/htmldiff.pl"),e.doRDFa||(e.doRDFa=!1);for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t])},getRefKeys:function(e){function i(e){var t=[];for(var n in e)t.push(n);return t}var t=e.informativeReferences,n=e.normativeReferences,r=[];for(var s in t)n[s]&&r.push(s);for(var o=0;o<r.length;o++)delete t[r[o]];return{informativeReferences:i(t),normativeReferences:i(n)}},bibref:function(e,r,i,s){var o={},u=0,a=this.getRefKeys(e),f=a.informativeReferences,l=a.normativeReferences,c={};if(!f.length&&!l.length&&!this.refNote)return;var h=sn.element("section",{id:"references","class":"appendix"},document.body);sn.element("h2",{},h,"References");if(this.refNote){var p=sn.element("p",{},h);p.innerHTML=this.refNote}var d=["Normative","Informative"];for(var v=0;v<d.length;v++){var m=d[v],a=m=="Normative"?l:f;if(!a.length)continue;var g=sn.element("section",{},h);sn.makeID(g,null,m+" references"),sn.element("h3",{},g,m+" references"),a.sort();var y=sn.element("dl",{"class":"bibliography"},g);this.doRDFa&&y.setAttribute("about","");for(var b=0;b<a.length;b++){var w=a[b];sn.element("dt",{id:"bib-"+w},y,"["+w+"]");var E=sn.element("dd",{},y);this.doRDFa&&(m=="Normative"?E.setAttribute("rel","dcterms:requires"):E.setAttribute("rel","dcterms:references"));var S=berjon.biblio[w],x={},T=w;x[w]=!0;while(S&&S.aliasOf)x[S.aliasOf]?(S=null,t("Circular reference in biblio DB between ["+w+"] and ["+T+"].")):(T=S.aliasOf,S=berjon.biblio[T],x[T]=!0);c[T]=c[T]||[],c[T].indexOf(w)<0&&c[T].push(w),S?E.innerHTML=this.stringifyRef(S)+"\n":(o[w]||(o[w]=0),o[w]++,u++,E.innerHTML="<em>Reference not found.</em>\n")}}for(var N in c)c[N].length>1&&n("["+N+"] is referenced in "+c[N].length+" ways ("+c[N].join(", ")+"). This causes duplicate entries in the reference section.");if(u>0){t("Got "+u+" tokens looking like a reference, not in biblio DB: ");for(var C in o)o.hasOwnProperty(C)&&t("Bad ref: "+C+", count = "+o[C])}},stringifyRef:function(e){if(typeof e=="string")return e;var t="";return e.authors&&e.authors.length&&(t+=e.authors.join("; "),e.etAl&&(t+=" et al"),t+=". "),t+='<a href="'+e.href+'"><cite>'+e.title+"</cite></a>. ",e.date&&(t+=e.date+". "),e.status&&(t+=this.getRefStatus(e.status)+". "),t+='URL: <a href="'+e.href+'">'+e.href+"</a>",t},getRefStatus:function(e){return this.REF_STATUSES[e]||e},REF_STATUSES:{NOTE:"W3C Note","WG-NOTE":"W3C Working Group Note",ED:"W3C Editor's Draft",FPWD:"W3C First Public Working Draft",WD:"W3C Working Draft",LCWD:"W3C Last Call Working Draft",CR:"W3C Candidate Recommendation",PR:"W3C Proposed Recommendation",REC:"W3C Recommendation"},_esc:function(e){return e=e.replace(/&/g,"&amp;"),e=e.replace(/>/g,"&gt;"),e=e.replace(/"/g,"&quot;"),e=e.replace(/</g,"&lt;"),e}}})(),function(){if(!document.evaluate){window.XPathResult=function(e){return e.snapshotLength=e.length,e.snapshotItem=function(e){return this[e]},e},window.XPathResult.prototype.ORDERED_NODE_SNAPSHOT_TYPE=7,window.XPathResult.ORDERED_NODE_SNAPSHOT_TYPE=7;var e=function(e){var t=function(e,t){var n=document.querySelectorAll(e),r=[];for(var i=0,s=n.length;i<s;i++)n[i].compareDocumentPosition(t)&16&&r.push(n[i]);return r},n=null,r=function(){if(n==null){var e=document.createNodeIterator(document.body,4,function(){return 1},!1);n=[];var t;while(t=e.nextNode())n.push(t)}},i=function(e){r();var t=[];for(var i=0,s=n.length;i<s;i++)n[i].compareDocumentPosition(e)&8&&t.push(n[i]);return t},s=function(e,t){var n=document.querySelectorAll(e),r=[];for(var i=0,s=n.length;i<s;i++)n[i].compareDocumentPosition(t)&16&&r.push(n[i]);return r},o=function(e,t){var n=e.querySelectorAll(t),r=[];for(var i=0,s=n.length;i<s;i++)n[i].parentNode==e&&r.push(n[i]);return r};e.evaluate=function(e,n,r,u,a){return e=="ancestor::x:section|ancestor::section"?XPathResult(t("section",n)):e=="./x:section|./section"?XPathResult(o(n,"section")):e=="./x:section[not(@class='introductory')]|./section[not(@class='introductory')]"?XPathResult(o(n,"section:not([class='introductory'])")):e==".//text()"?XPathResult(i(n)):e=="ancestor::abbr"||e=="ancestor::acronym"?XPathResult(s(e=="ancestor::abbr"?"abbr":"acronym",n)):e=="./dt"?XPathResult(o(n,"dt")):e=="dl[@class='parameters']"?XPathResult(n.querySelectorAll("dl[class='parameters']")):e=="*[@class='exception']"?XPathResult(n.querySelectorAll("[class='exception']")):XPathResult([])}};window.Document?e(Document.prototype):e(window.document)}}(),define("w3c/legacy",[],function(){return{run:function(e,t,n,r){r.pub("start","w3c/legacy"),(new berjon.respec).loadAndRun(e,t,n,r)}}}),define("tmpl!core/css/webidl-oldschool.css",["handlebars"],function(e){return Handlebars.compile('/* --- WEB IDL --- */\npre.idl {\n    border-top: 1px solid #90b8de;\n    border-bottom: 1px solid #90b8de;\n    padding:    1em;\n    line-height:    120%;\n}\n\npre.idl::before {\n    content:    "WebIDL";\n    display:    block;\n    width:      150px;\n    background: #90b8de;\n    color:  #fff;\n    font-family:    initial;\n    padding:    3px;\n    font-weight:    bold;\n    margin: -1em 0 1em -1em;\n}\n\n.idlType {\n    color:  #ff4500;\n    font-weight:    bold;\n    text-decoration:    none;\n}\n\n/*.idlModule*/\n/*.idlModuleID*/\n/*.idlInterface*/\n.idlInterfaceID, .idlDictionaryID, .idlCallbackID, .idlEnumID {\n    font-weight:    bold;\n    color:  #005a9c;\n}\na.idlEnumItem {\n    color:  #000;\n    border-bottom:  1px dotted #ccc;\n    text-decoration: none;\n}\n\n.idlSuperclass {\n    font-style: italic;\n    color:  #005a9c;\n}\n\n/*.idlAttribute*/\n.idlAttrType, .idlFieldType, .idlMemberType {\n    color:  #005a9c;\n}\n.idlAttrName, .idlFieldName, .idlMemberName {\n    color:  #ff4500;\n}\n.idlAttrName a, .idlFieldName a, .idlMemberName a {\n    color:  #ff4500;\n    border-bottom:  1px dotted #ff4500;\n    text-decoration: none;\n}\n\n/*.idlMethod*/\n.idlMethType, .idlCallbackType {\n    color:  #005a9c;\n}\n.idlMethName {\n    color:  #ff4500;\n}\n.idlMethName a {\n    color:  #ff4500;\n    border-bottom:  1px dotted #ff4500;\n    text-decoration: none;\n}\n\n/*.idlCtor*/\n.idlCtorName {\n    color:  #ff4500;\n}\n.idlCtorName a {\n    color:  #ff4500;\n    border-bottom:  1px dotted #ff4500;\n    text-decoration: none;\n}\n\n/*.idlParam*/\n.idlParamType {\n    color:  #005a9c;\n}\n.idlParamName, .idlDefaultValue {\n    font-style: italic;\n}\n\n.extAttr {\n    color:  #666;\n}\n\n/*.idlSectionComment*/\n.idlSectionComment {\n    color: gray;\n}\n\n/*.idlConst*/\n.idlConstType {\n    color:  #005a9c;\n}\n.idlConstName {\n    color:  #ff4500;\n}\n.idlConstName a {\n    color:  #ff4500;\n    border-bottom:  1px dotted #ff4500;\n    text-decoration: none;\n}\n\n/*.idlException*/\n.idlExceptionID {\n    font-weight:    bold;\n    color:  #c00;\n}\n\n.idlTypedefID, .idlTypedefType {\n    color:  #005a9c;\n}\n\n.idlRaises, .idlRaises a.idlType, .idlRaises a.idlType code, .excName a, .excName a code {\n    color:  #c00;\n    font-weight:    normal;\n}\n\n.excName a {\n    font-family:    monospace;\n}\n\n.idlRaises a.idlType, .excName a.idlType {\n    border-bottom:  1px dotted #c00;\n}\n\n.excGetSetTrue, .excGetSetFalse, .prmNullTrue, .prmNullFalse, .prmOptTrue, .prmOptFalse {\n    width:  45px;\n    text-align: center;\n}\n.excGetSetTrue, .prmNullTrue, .prmOptTrue { color:  #0c0; }\n.excGetSetFalse, .prmNullFalse, .prmOptFalse { color:  #c00; }\n\n.idlImplements a {\n    font-weight:    bold;\n}\n\ndl.attributes, dl.methods, dl.constants, dl.constructors, dl.fields, dl.dictionary-members {\n    margin-left:    2em;\n}\n\n.attributes dt, .methods dt, .constants dt, .constructors dt, .fields dt, .dictionary-members dt {\n    font-weight:    normal;\n}\n\n.attributes dt code, .methods dt code, .constants dt code, .constructors dt code, .fields dt code, .dictionary-members dt code {\n    font-weight:    bold;\n    color:  #000;\n    font-family:    monospace;\n}\n\n.attributes dt code, .fields dt code, .dictionary-members dt code {\n    background:  #ffffd2;\n}\n\n.attributes dt .idlAttrType code, .fields dt .idlFieldType code, .dictionary-members dt .idlMemberType code {\n    color:  #005a9c;\n    background:  transparent;\n    font-family:    inherit;\n    font-weight:    normal;\n    font-style: italic;\n}\n\n.methods dt code {\n    background:  #d9e6f8;\n}\n\n.constants dt code {\n    background:  #ddffd2;\n}\n\n.constructors dt code {\n    background:  #cfc;\n}\n\n.attributes dd, .methods dd, .constants dd, .constructors dd, .fields dd, .dictionary-members dd {\n    margin-bottom:  1em;\n}\n\ntable.parameters, table.exceptions {\n    border-spacing: 0;\n    border-collapse:    collapse;\n    margin: 0.5em 0;\n    width:  100%;\n}\ntable.parameters { border-bottom:  1px solid #90b8de; }\ntable.exceptions { border-bottom:  1px solid #deb890; }\n\n.parameters th, .exceptions th {\n    color:  #fff;\n    padding:    3px 5px;\n    text-align: left;\n    font-family:    initial;\n    font-weight:    normal;\n    text-shadow:    #666 1px 1px 0;\n}\n.parameters th { background: #90b8de; }\n.exceptions th { background: #deb890; }\n\n.parameters td, .exceptions td {\n    padding:    3px 10px;\n    border-top: 1px solid #ddd;\n    vertical-align: top;\n}\n\n.parameters tr:first-child td, .exceptions tr:first-child td {\n    border-top: none;\n}\n\n.parameters td.prmName, .exceptions td.excName, .exceptions td.excCodeName {\n    width:  100px;\n}\n\n.parameters td.prmType {\n    width:  120px;\n}\n\ntable.exceptions table {\n    border-spacing: 0;\n    border-collapse:    collapse;\n    width:  100%;\n}\n')}),define("tmpl!core/templates/webidl/module.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlModule'>{{extAttr obj indent true }}{{idn indent}}module <span class='idlModuleID'>{{obj.id}}</span> {\n{{#each obj.children}}{{asWebIDL proc this indent}}{{/each}}\n{{idn indent}}};</span>\n")}),define("tmpl!core/templates/webidl/typedef.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlTypedef' id='idl-def-{{obj.refId}}'>typedef {{extAttr obj 0 false\n}}<span class='idlTypedefType'>{{datatype obj.datatype\n}}</span>{{arr}}{{nullable}} <span class='idlTypedefID'>{{obj.id}}</span>;</span>\n")}),define("tmpl!core/templates/webidl/implements.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlImplements'>{{extAttr obj indent true}}{{idn indent}}<a>{{obj.id}}</a> implements <a>{{obj.datatype}}</a>;</span>\n")}),define("tmpl!core/templates/webidl/dict-member.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlMember'>{{extAttr obj indent true\n}}{{idn indent}}<span class='idlMemberType'>{{datatype obj.datatype}}{{arr}}{{nullable}}</span> {{pads pad\n}}<span class='idlMemberName'><a href='#{{curLnk}}{{obj.refId}}'>{{obj.id}}</a></span>{{#if obj.defaultValue\n}} = <span class='idlMemberValue'>{{obj.defaultValue}}</span>{{/if}};</span>\n")}),define("tmpl!core/templates/webidl/dictionary.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlDictionary' id='idl-def-{{obj.refId}}'>{{extAttr obj indent true\n}}{{idn indent}}{{partial}}dictionary <span class='idlDictionaryID'>{{obj.id}}</span>{{superclasses obj}} {\n{{{children}}}};</span>\n")}),define("tmpl!core/templates/webidl/enum-item.html",["handlebars"],function(e){return Handlebars.compile('{{idn indent}}"<a href="#idl-def-{{parentID}}.{{obj.refId}}" class="idlEnumItem">{{obj.id}}</a>"')}),define("tmpl!core/templates/webidl/enum.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlEnum' id='idl-def-{{obj.refId}}'>{{extAttr obj indent true\n}}{{idn indent}}enum <span class='idlEnumID'>{{obj.id}}</span> {\n{{{children}}}\n{{idn indent}}}};")}),define("tmpl!core/templates/webidl/const.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlConst'>{{extAttr obj indent true\n}}{{idn indent}}const <span class='idlConstType'><a>{{obj.datatype}}</a>{{nullable}}</span> {{pads pad\n}}<span class='idlConstName'><a href='#{{curLnk}}{{obj.refId}}'>{{obj.id\n}}</a></span> = <span class='idlConstValue'>{{obj.value}}</span>;</span>\n")}),define("tmpl!core/templates/webidl/param.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlParam'>{{extAttr obj 0 false\n}}{{optional}}<span class='idlParamType'>{{datatype obj.datatype}}{{arr}}{{nullable}}{{variadic\n}}</span> <span class='idlParamName'>{{obj.id}}</span>{{#if obj.defaultValue\n}} = <span class='idlDefaultValue'>{{obj.defaultValue}}</span>{{/if}}</span>")}),define("tmpl!core/templates/webidl/callback.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlCallback' id='idl-def-{{obj.refId}}'>{{extAttr obj indent true\n}}{{idn indent}}callback <span class='idlCallbackID'>{{obj.id\n}}</span> = <span class='idlCallbackType'>{{datatype obj.datatype}}{{arr}}{{nullable}}</span> ({{{children}}});</span>\n")}),define("tmpl!core/templates/webidl/method.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlMethod'>{{extAttr obj indent true\n}}{{idn indent}}{{static}}<span class='idlMethType'>{{datatype obj.datatype}}{{arr}}{{nullable}}</span> {{pads pad\n}}<span class='idlMethName'><a href='#{{id}}'>{{obj.id}}</a></span> ({{{children}}});</span>\n")}),define("tmpl!core/templates/webidl/constructor.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlCtor'>{{extAttr obj indent true\n}}{{idn indent}} <span class='idlCtorKeyword'>{{keyword}}</span><span class='idlCtorName'><a href='#{{id}}'>{{name}}</a></span>{{param obj children}}</span>")}),define("tmpl!core/templates/webidl/attribute.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlAttribute'>{{extAttr obj indent true\n}}{{idn indent}}{{declaration}} attribute <span class='idlAttrType'>{{datatype obj.datatype}}{{arr}}{{nullable}}</span> {{pads\npad}}<span class='idlAttrName'><a href='#{{href}}'>{{obj.id}}</a></span>;</span>\n")}),define("tmpl!core/templates/webidl/serializer.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlSerializer'>{{extAttr obj indent true\n}}{{idn indent}}serializer{{#if values}} = <span class='idlSerializerValues'>{{values}}</span>{{/if}};</span>\n")}),define("tmpl!core/templates/webidl/comment.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlSectionComment'>{{extAttr obj indent true\n}}{{idn indent}}// {{comment}}</span>\n")}),define("tmpl!core/templates/webidl/field.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlField'>{{extAttr obj indent true\n}}{{idn indent}}<span class='idlFieldType'>{{datatype obj.datatype}}{{arr}}{{nullable}}</span> {{pads\npad}}<span class='idlFieldName'><a href='#{{href}}'>{{obj.id}}</a></span>;</span>\n")}),define("tmpl!core/templates/webidl/exception.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlException' id='idl-def-{{obj.refId}}'>{{extAttr obj indent true\n}}{{idn indent}}exception <span class='idlExceptionID'>{{obj.id}}</span>{{superclasses obj}} {\n{{{children}}}{{idn indent}}}};</span>")}),define("tmpl!core/templates/webidl/interface.html",["handlebars"],function(e){return Handlebars.compile("<span class='idlInterface' id='{{id}}'>{{extAttr obj indent true ctor\n}}{{idn indent}}{{partial}}{{callback}}interface <span class='idlInterfaceID'>{{obj.id}}</span>{{superclasses obj}} {\n{{{children}}}{{idn indent}}}};</span>")}),define("core/webidl-oldschool",["handlebars","tmpl!core/css/webidl-oldschool.css","tmpl!core/templates/webidl/module.html","tmpl!core/templates/webidl/typedef.html","tmpl!core/templates/webidl/implements.html","tmpl!core/templates/webidl/dict-member.html","tmpl!core/templates/webidl/dictionary.html","tmpl!core/templates/webidl/enum-item.html","tmpl!core/templates/webidl/enum.html","tmpl!core/templates/webidl/const.html","tmpl!core/templates/webidl/param.html","tmpl!core/templates/webidl/callback.html","tmpl!core/templates/webidl/method.html","tmpl!core/templates/webidl/constructor.html","tmpl!core/templates/webidl/attribute.html","tmpl!core/templates/webidl/serializer.html","tmpl!core/templates/webidl/comment.html","tmpl!core/templates/webidl/field.html","tmpl!core/templates/webidl/exception.html","tmpl!core/templates/webidl/interface.html"],function(e,t,n,r,i,s,o,u,a,f,l,c,h,p,d,v,m,g,y,b){var w=function(e){this.parent={type:"module",id:"outermost",children:[]},e||(e={});for(var t in e)e.hasOwnProperty(t)&&(this[t]=e[t]);Handlebars.registerHelper("extAttr",function(e,t,n,r){var i="";return e.extendedAttributes&&(i+=E(t)+"[<span class='extAttr'>"+e.extendedAttributes+"</span>"+(typeof r=="string"&&r.length?",\n"+r:"")+"]"+(n?"\n":" ")),new Handlebars.SafeString(i)}),Handlebars.registerHelper("param",function(e,t){var n="";return t&&(n+=" ("+t+")"),new Handlebars.SafeString(n)}),Handlebars.registerHelper("idn",function(e){return new Handlebars.SafeString(E(e))}),Handlebars.registerHelper("asWebIDL",function(e,t,n){return new Handlebars.SafeString(e.writeAsWebIDL(t,n))}),Handlebars.registerHelper("datatype",function(e){return new Handlebars.SafeString(N(e))}),Handlebars.registerHelper("pads",function(e){return new Handlebars.SafeString(C(e))}),Handlebars.registerHelper("superclasses",function(e){if(!e.superclasses||!e.superclasses.length)return"";var t=" : "+e.superclasses.map(function(e){return"<span class='idlSuperclass'><a>"+e+"</a></span>"}).join(", ");return new Handlebars.SafeString(t)})},E=function(e){var t="";for(var n=0;n<e;n++)t+="    ";return t},S=function(e){return e.replace(/^\s+/,"").replace(/\s+$/,"").split(/\s+/).join(" ")},x=function(e){return e=e.split(/[^\-.0-9a-zA-Z_]/).join("-"),e=e.replace(/^\-+/g,""),e=e.replace(/\-+$/,""),e.length>0&&/^[^a-z]/.test(e)&&(e="x"+e),e.length===0&&(e="generatedID"),e},T=function(e){var t="";for(var n=0,r=e.arrayCount;n<r;n++)t+="[]";return t},N=function(e){if($.isArray(e)){var t=[];for(var n=0,r=e.length;n<r;n++)t.push(N(e[n]));return"("+t.join(" or ")+")"}var i=/^sequence<(.+)>$/.exec(e);return i?"sequence&lt;<a>"+i[1]+"</a>&gt;":"<a>"+e+"</a>"},C=function(e){var t="";for(var n=0;n<e;n++)t+=" ";return t};return w.prototype={setID:function(e,t){e.id=t,e.refId=e.id.replace(/[^a-zA-Z_\-]/g,"")},nullable:function(e,t){return e.nullable=!1,/\?$/.test(t)&&(t=t.replace(/\?$/,""),e.nullable=!0),t},array:function(e,t){return e.array=!1,/\[\]$/.test(t)&&(e.arrayCount=0,t=t.replace(/(?:\[\])/g,function(){return e.arrayCount++,""}),e.array=!0),t},params:function(e,t,n){var r={};e=this.parseExtendedAttributes(e,r);var i=/^\s*(?:in\s+)?([^,=]+)\s+\b([^,]+)\s*(?:,)?\s*/,s=i.exec(e);if(!s)return this.msg.pub("error","Expected parameter list, got: "+e),!1;e=e.replace(i,"");var o=s[1],u=s[2],a=u.split(/\s*=\s*/),f=null;return a.length===1?u=u.replace(/\s+/g,""):(u=a[0],f=a[1]),this.parseDatatype(r,o),r.defaultValue=f,this.setID(r,u),t&&(r.description=t.contents()),n.params.push(r),e},optional:function(e){if(e.isUnionType)return e.optional=!1,!1;var t=e.datatype.split(/\s+/),n=t.indexOf("optional"),r=!1;return n>-1&&(r=!0,t.splice(n,1),e.datatype=t.join(" ")),e.optional=r,r},definition:function(e){var t={children:[]},n=e.attr("title"),r=e.attr("id");n||this.msg.pub("error","No IDL definition in element."),n=this.parseExtendedAttributes(n,t);if(n.indexOf("partial")===0){var i=n.slice(8);i.indexOf("interface")===0?this.processInterface(t,n,e,{partial:!0}):i.indexOf("dictionary")===0?this.dictionary(t,i,e,{partial:!0}):this.msg.pub("error","Expected definition, got: "+n)}else n.indexOf("interface")===0||/^callback\s+interface\b/.test(n)?this.processInterface(t,n,e):n.indexOf("exception")===0?this.exception(t,n,e):n.indexOf("dictionary")===0?this.dictionary(t,n,e):n.indexOf("callback")===0?this.callback(t,n,e):n.indexOf("enum")===0?this.processEnum(t,n,e):n.indexOf("typedef")===0?this.typedef(t,n,e):/\bimplements\b/.test(n)?this.processImplements(t,n,e):this.msg.pub("error","Expected definition, got: "+n);return this.parent.children.push(t),this.processMembers(t,e),r&&(t.htmlID=r),t},processInterface:function(e,t,n,r){r=r||{},e.type="interface",e.partial=r.partial||!1;var i=/^\s*(?:(partial|callback)\s+)?interface\s+([A-Za-z][A-Za-z0-9]*)(?:\s+:\s*([^{]+)\s*)?/.exec(t);return i?(e.callback=!!i[1]&&i[1]==="callback",this.setID(e,i[2]),n.attr("data-merge")&&(e.merge=n.attr("data-merge").split(" ")),i[3]&&(e.superclasses=i[3].split(/\s*,\s*/))):this.msg.pub("error","Expected interface, got: "+t),e},dictionary:function(e,t,n,r){return r=r||{},e.partial=r.partial||!1,this.excDic("dictionary",e,t,n)},exception:function(e,t,n){return this.excDic("exception",e,t,n)},excDic:function(e,t,n){t.type=e;var r=new RegExp("^\\s*"+e+"\\s+([A-Za-z][A-Za-z0-9]*)(?:\\s+:\\s*([^{]+)\\s*)?\\s*"),i=r.exec(n);return i?(this.setID(t,i[1]),i[2]&&(t.superclasses=i[2].split(/\s*,\s*/))):this.msg.pub("error","Expected "+e+", got: "+n),t},callback:function(e,t){e.type="callback";var n=/^\s*callback\s+([A-Za-z][A-Za-z0-9]*)\s*=\s*\b(.*?)\s*$/.exec(t);if(n){this.setID(e,n[1]);var r=n[2];this.parseDatatype(e,r)}else this.msg.pub("error","Expected callback, got: "+t);return e},processEnum:function(e,t){e.type="enum";var n=/^\s*enum\s+([A-Za-z][A-Za-z0-9]*)\s*$/.exec(t);return n?this.setID(e,n[1]):this.msg.pub("error","Expected enum, got: "+t),e},typedef:function(e,t,n){e.type="typedef",t=t.replace(/^\s*typedef\s+/,""),t=this.parseExtendedAttributes(t,e);var r=/^(.+)\s+(\S+)\s*$/.exec(t);if(r){var i=r[1];this.parseDatatype(e,i),this.setID(e,r[2]),e.description=n.contents()}else this.msg.pub("error","Expected typedef, got: "+t);return e},processImplements:function(e,t,n){e.type="implements";var r=/^\s*(.+?)\s+implements\s+(.+)\s*$/.exec(t);return r?(this.setID(e,r[1]),e.datatype=r[2],e.description=n.contents()):this.msg.pub("error","Expected implements, got: "+t),e},processMembers:function(e,t){var n=this.parent,r=this;this.parent=e,t.find("> dt").each(function(){var t=$(this),n=t.next(),i=e.type,s;i==="exception"?s=r.exceptionMember(t,n):i==="dictionary"?s=r.dictionaryMember(t,n):i==="callback"?s=r.callbackMember(t,n):i==="enum"?s=r.processEnumMember(t,n):s=r.interfaceMember(t,n),e.children.push(s)}),this.parent=n},parseConst:function(e,t){var n=/^\s*const\s+\b([^=]+\??)\s+([^=\s]+)\s*=\s*(.*)$/.exec(t);if(n){e.type="constant";var r=n[1];return this.parseDatatype(e,r),this.setID(e,n[2]),e.value=n[3],!0}return!1},exceptionMember:function(e,t){var n={children:[]},r=S(e.text());n.description=t.contents(),r=this.parseExtendedAttributes(r,n);if(this.parseConst(n,r))return n;var i=/^\s*(.*?)\s+(\S+)\s*$/.exec(r);if(i){n.type="field";var s=i[1];return this.parseDatatype(n,s),this.setID(n,i[2]),n}this.msg.pub("error","Expected exception member, got: "+r)},dictionaryMember:function(e,t){var n={children:[]},r=S(e.text());n.description=t.contents(),r=this.parseExtendedAttributes(r,n);var i=/^\s*([^=]+\??)\s+([^=\s]+)(?:\s*=\s*(.*))?$/.exec(r);if(i){n.type="member";var s=i[1];return n.defaultValue=i[3],this.setID(n,i[2]),this.parseDatatype(n,s),n}this.msg.pub("error","Expected dictionary member, got: "+r)},callbackMember:function(e,t){var n={children:[]},r=S(e.text());n.description=t.contents(),r=this.parseExtendedAttributes(r,n);var i=/^\s*(.*?)\s+([A-Za-z][A-Za-z0-9]*)\s*$/.exec(r);if(i){n.type="member";var s=i[1];return this.setID(n,i[2]),n.defaultValue=i[3],this.parseDatatype(n,s),this.optional(n),n}this.msg.pub("error","Expected callback member, got: "+r)},processEnumMember:function(e,t){var n={children:[]},r=S(e.text());return n.description=t.contents(),r=this.parseExtendedAttributes(r,n),n.type="member",this.setID(n,r),n.refId=x(n.id),n},interfaceMember:function(e,t){var n={children:[]},r=S(e.text()),i=t.find("dl.parameters").first(),s=t.find(".getraises, .setraises"),o=t.find("dl.exception").first();n.description=t.contents().not("dl.parameters"),r=this.parseExtendedAttributes(r,n);var u;u=/^\s*(?:(readonly|inherit|stringifier)\s+)?attribute\s+(.*?)\s+(\S+)\s*$/.exec(r);if(u){n.type="attribute",n.declaration=u[1]?u[1]:"",n.declaration+=(new Array(12-n.declaration.length)).join(" ");var a=u[2];return this.parseDatatype(n,a),this.setID(n,u[3]),n.raises=[],s.each(function(){var e=$(this),t={id:e.attr("title"),onSet:e.hasClass("setraises"),onGet:e.hasClass("getraises")};e.is("dl")?(t.type="codelist",t.description=[],e.find("dt").each(function(){var e=$(this),n=e.next("dd");t.description.push({id:e.text(),description:n.contents().clone()})})):e.is("div")?(t.type="simple",t.description=e.contents().clone()):this.msg.pub("error","Do not know what to do with exceptions being raised defined outside of a div or dl."),e.remove(),n.raises.push(t)}),n}if(this.parseConst(n,r))return n;u=/^\s*Constructor(?:\s*\(\s*(.*)\s*\))?\s*$/.exec(r);if(u){n.type="constructor";var f=u[1]?u[1]:[];return this.setID(n,this.parent.id),n.named=!1,n.datatype="",this.methodMember(n,o,i,f)}u=/^\s*NamedConstructor\s*(?:=\s*)?\b([^(]+)(?:\s*\(\s*(.*)\s*\))?\s*$/.exec(r);if(u){n.type="constructor";var f=u[2]?u[2]:[];return this.setID(n,u[1]),n.named=!0,n.datatype="",this.methodMember(n,o,i,f)}u=/^\s*(.*?)\s+\b(\S+?)\s*\(\s*(.*)\s*\)\s*$/.exec(r);if(u){n.type="method";var a=u[1],f=u[3];return a=this.parseStatic(n,a),this.parseDatatype(n,a),this.setID(n,u[2]),this.methodMember(n,o,i,f)}u=/^\s*serializer(\s*=\s*((\{\s*(\S+(\s*,\s*\S+)*)?\s*\})|(\[(\s*\S+(\s*,\s*\S+)*)?\s*\])|(\S+)))?\s*$/.exec(r);if(u){n.type="serializer",n.values=[],this.setID(n,"serializer");var l=u[3],c=u[6],h=u[9],p;l?(n.serializertype="map",p=u[4]):c?(n.serializertype="list",p=u[7]):h?(n.serializertype="attribute",n.values.push(h)):n.serializertype="prose";if(p){var d=p.split(/\s*,\s*/);n.getter=!1,n.inherit=!1,n.all=!1,d[0]=="getter"?n.getter=!0:(n.serializertype=="map"&&(d[0]=="inherit"&&(n.inherit=!0,d.shift()),d[0]=="attribute"&&n.serializertype=="map"&&(n.all=!0,d=[])),n.values=d)}return n}u=/^\s*\/\/\s*(.*)\s*$/.exec(r);if(u)return n.type="comment",n.id=u[1],n;this.msg.pub("error","Expected interface member, got: "+r)},methodMember:function(e,t,n,r){e.params=[],e.raises=[],t.each(function(){var t=$(this),n={id:t.attr("title")};t.is("dl")?(n.type="codelist",n.description=[],t.find("dt").each(function(){var e=$(this),t=e.next("dd");n.description.push({id:e.text(),description:t.contents().clone()})})):t.is("div")?(n.type="simple",n.description=t.contents().clone()):this.msg.pub("error","Do not know what to do with exceptions being raised defined outside of a div or dl."),t.remove(),e.raises.push(n)});if(n.length){n.remove();var i=this;n.find("> dt").each(function(){return i.params($(this).text(),$(this).next(),e)})}else while(r.length){r=this.params(r,null,e);if(r===!1)break}var s=!1;for(var o=0;o<e.params.length;o++)s?(e.params[o].optional=!0,e.params[o].datatype=e.params[o].datatype.replace(/\boptional\s+/,"")):s=this.optional(e.params[o]);return e},parseDatatype:function(e,t){t=this.nullable(e,t),t=this.array(e,t),e.variadic=!1,/\.\.\./.test(t)&&(t=t.replace(/\.\.\./,""),e.variadic=!0),t.indexOf("(")===0?(t=t.replace("(","").replace(")",""),e.datatype=t.split(/\s+or\s+/),e.isUnionType=!0):e.datatype=t},parseStatic:function(e,t){return/^static\s+/.test(t)?(t=t.replace(/^static\s+/,""),e.isStatic=!0):e.isStatic=!1,t},parseExtendedAttributes:function(e,t){if(!e)return;return e.replace(/^\s*\[([^\]]+)\]\s*/,function(e,n){return t.extendedAttributes=n,""})},makeMarkup:function(e){var t=$("<div></div>"),n={"class":"idl"};e&&(n.id=e);var r=$("<pre></pre>").attr(n);return r.html(this.writeAsWebIDL(this.parent,-1)),t.append(r),this.conf.noLegacyStyle||t.append(this.writeAsHTML(this.parent)),this.mergeWebIDL(this.parent.children[0]),t.children()},writeAsHTML:function(e){if(e.type=="module")return e.id=="outermost"?(e.children.length>1&&this.msg.pub("error","We currently only support one structural level per IDL fragment"),this.writeAsHTML(e.children[0])):(this.msg.pub("warn","No HTML can be generated for module definitions."),$("<span></span>"));if(e.type=="typedef"){var t;if(e.description&&e.description.text())t=[e.description];else{var n=sn.element("span",{"class":"idlTypedefType"},null);n.innerHTML=N(e.datatype),t=[sn.text("Throughout this specification, the identifier "),sn.element("span",{"class":"idlTypedefID"},null,e.id),sn.text(" is used to refer to the "),sn.text(e.array?(e.arrayCount>1?e.arrayCount+"-":"")+"array of ":""),n,sn.text(e.nullable?" (nullable)":""),sn.text(" type.")]}return sn.element("div",{"class":"idlTypedefDesc"},null,t)}if(e.type=="implements"){var t;return e.description&&e.description.text()?t=[e.description]:(t=[sn.text("All instances of the "),sn.element("code",{},null,[sn.element("a",{},null,e.id)]),sn.text(" type are defined to also implement the "),sn.element("a",{},null,e.datatype),sn.text(" interface.")],t=[sn.element("p",{},null,t)]),sn.element("div",{"class":"idlImplementsDesc"},null,t)}if(e.type=="exception"){var r=sn.documentFragment(),i="widl-"+e.refId+"-",s=["field","constant"],o=function(e){return e.type===f},u=function(e,t){return e.id<t.id?-1:e.id>t.id?1:0};for(var a=0;a<s.length;a++){var f=s[a],l=e.children.filter(o);if(l.length===0)continue;this.noIDLSorting||l.sort(u);var c=sn.element("section",{},r),h=f;h=h.substr(0,1).toUpperCase()+h.substr(1)+"s",this.conf.noIDLSectionTitle||sn.element("h2",{},c,h);var p=sn.element("dl",{"class":f+"s"},c);for(var d=0;d<l.length;d++){var v=l[d],m=sn.element("dt",{id:i+v.refId},p);sn.element("code",{},m,v.id);var g=sn.element("dd",{},p,[v.description]);if(f=="field"){sn.text(" of type ",m);if(v.array)for(var y=0,b=v.arrayCount;y<b;y++)sn.text("array of ",m);var w=sn.element("span",{"class":"idlFieldType"},m),E=/^sequence<(.+)>$/.exec(v.datatype);E?(sn.text("sequence<",w),sn.element("a",{},w,E[1]),sn.text(">",w)):sn.element("a",{},w,v.datatype),v.nullable&&sn.text(", nullable",m)}else f=="constant"&&(sn.text(" of type ",m),sn.element("span",{"class":"idlConstType"},m,[sn.element("a",{},null,v.datatype)]),v.nullable&&sn.text(", nullable",m))}}return r}if(e.type=="dictionary"){var r=sn.documentFragment(),i="widl-"+e.refId+"-",l=e.children,t;if(l.length===0)return r;this.noIDLSorting||l.sort(function(e,t){return e.id<t.id?-1:e.id>t.id?1:0});var c=sn.element("section",{},r);t=[sn.text("Dictionary "),sn.element("a",{"class":"idlType"},null,e.id),sn.text(" Members")],this.conf.noIDLSectionTitle||sn.element("h2",{},c,t);var p=sn.element("dl",{"class":"dictionary-members"},c);for(var d=0;d<l.length;d++){var v=l[d],m=sn.element("dt",{id:i+v.refId},p);sn.element("code",{},m,v.id);var g=sn.element("dd",{},p,[v.description]);sn.text(" of type ",m);if(v.array)for(var a=0,b=v.arrayCount;a<b;a++)sn.text("array of ",m);var w=sn.element("span",{"class":"idlMemberType"},m),E=/^sequence<(.+)>$/.exec(v.datatype);E?(sn.text("sequence<",w),sn.element("a",{},w,E[1]),sn.text(">",w)):sn.element("a",{},w,v.isUnionType?"("+v.datatype.join(" or ")+")":v.datatype),v.nullable&&sn.text(", nullable",m),v.defaultValue&&(sn.text(", defaulting to ",m),sn.element("code",{},m,[sn.text(v.defaultValue)]))}return r}if(e.type=="callback"){var r=sn.documentFragment(),i="widl-"+e.refId+"-",l=e.children,t;if(l.length===0)return r;var c=sn.element("section",{},r);t=[sn.text("Callback "),sn.element("a",{"class":"idlType"},null,e.id),sn.text(" Parameters")],this.conf.noIDLSectionTitle||sn.element("h2",{},c,t);var p=sn.element("dl",{"class":"callback-members"},c);for(var d=0;d<l.length;d++){var v=l[d],m=sn.element("dt",{id:i+v.refId},p);sn.element("code",{},m,v.id);var g=sn.element("dd",{},p,[v.description]);sn.text(" of type ",m);if(v.array)for(var a=0,b=v.arrayCount;a<b;a++)sn.text("array of ",m);var w=sn.element("span",{"class":"idlMemberType"},m),E=/^sequence<(.+)>$/.exec(v.datatype);E?(sn.text("sequence<",w),sn.element("a",{},w,E[1]),sn.text(">",w)):sn.element("a",{},w,v.isUnionType?"("+v.datatype.join(" or ")+")":v.datatype),v.nullable&&sn.text(", nullable",m),v.defaultValue&&(sn.text(", defaulting to ",m),sn.element("code",{},m,[sn.text(v.defaultValue)]))}return r}if(e.type=="enum"){var r=sn.documentFragment(),l=e.children;if(l.length===0)return r;var c=sn.element("table",{"class":"simple"},r);sn.element("tr",{},c,[sn.element("th",{colspan:2},null,[sn.text("Enumeration description")])]);for(var d=0;d<l.length;d++){var v=l[d],S=sn.element("tr",{},c),x=sn.element("td",{},S);sn.element("code",{id:"idl-def-"+e.refId+"."+v.refId},x,v.id),sn.element("td",{},S,[v.description])}return r}if(e.type=="interface"){var r=sn.documentFragment(),i="widl-"+e.refId+"-",s=["constructor","attribute","method","constant","serializer"],o=function(e){return e.type==f},u=function(e,t){return e.id<t.id?-1:e.id>t.id?1:0};for(var a=0;a<s.length;a++){var f=s[a],l=e.children.filter(o);if(l.length===0)continue;this.noIDLSorting||l.sort(u);var c=sn.element("section",{},r),h=f;h=h.substr(0,1).toUpperCase()+h.substr(1)+(f!="serializer"?"s":""),this.conf.noIDLSectionTitle||sn.element("h2",{},c,h);if(f!="serializer"){var p=sn.element("dl",{"class":f+"s"},c);for(var d=0;d<l.length;d++){var v=l[d],C=f=="method"?this.makeMethodID(i,v):f=="constructor"?this.makeMethodID("widl-ctor-",v):sn.idThatDoesNotExist(i+v.refId),m=sn.element("dt",{id:C},p);sn.element("code",{},m,v.id),v.isStatic&&m.appendChild(this.doc.createTextNode(", static"));var g=sn.element("dd",{},p,[v.description]);if(f=="method"||f=="constructor"){if(v.params.length){var k=sn.element("table",{"class":"parameters"},g),S=sn.element("tr",{},k);["Parameter","Type","Nullable","Optional","Description"].forEach(function(e){sn.element("th",{},S,e)});for(var y=0;y<v.params.length;y++){var L=v.params[y],S=sn.element("tr",{},k);sn.element("td",{"class":"prmName"},S,L.id);var A=sn.element("td",{"class":"prmType"},S),O=sn.element("code",{},A);O.innerHTML=N(L.datatype),L.array&&(O.innerHTML+=T(L)),L.defaultValue&&(O.innerHTML+=" = "+L.defaultValue),L.nullable?sn.element("td",{"class":"prmNullTrue"},S,"✔"):sn.element("td",{"class":"prmNullFalse"},S,"✘"),L.optional?sn.element("td",{"class":"prmOptTrue"},S,"✔"):sn.element("td",{"class":"prmOptFalse"},S,"✘");var t=L.description?[L.description]:"";sn.element("td",{"class":"prmDesc"},S,t)}}else sn.element("div",{},g,[sn.element("em",{},null,"No parameters.")]);if(this.conf.idlOldStyleExceptions&&v.raises.length){var k=sn.element("table",{"class":"exceptions"},g),S=sn.element("tr",{},k);["Exception","Description"].forEach(function(e){sn.element("th",{},S,e)});for(var y=0;y<v.raises.length;y++){var M=v.raises[y],S=sn.element("tr",{},k);sn.element("td",{"class":"excName"},S,[sn.element("a",{},null,M.id)]);var _=sn.element("td",{"class":"excDesc"},S);if(M.type=="simple")$(_).append(M.description);else{var D=sn.element("table",{"class":"exceptionCodes"},_);for(var P=0;P<M.description.length;P++){var H=M.description[P],S=sn.element("tr",{},D);sn.element("td",{"class":"excCodeName"},S,[sn.element("code",{},null,H.id)]),sn.element("td",{"class":"excCodeDesc"},S,[H.description])}}}}if(f!=="constructor"){var B=sn.element("div",{},g);sn.element("em",{},B,"Return type: ");var O=sn.element("code",{},B);O.innerHTML=N(v.datatype),v.array&&(O.innerHTML+=T(v)),v.nullable&&sn.text(", nullable",B)}}else if(f=="attribute"){sn.text(" of type ",m);if(v.array)for(var P=0,b=v.arrayCount;P<b;P++)sn.text("array of ",m);var w=sn.element("span",{"class":"idlAttrType"},m),E=/^sequence<(.+)>$/.exec(v.datatype);E?(sn.text("sequence<",w),sn.element("a",{},w,E[1]),sn.text(">",w)):sn.element("a",{},w,v.isUnionType?"("+v.datatype.join(" or ")+")":v.datatype),v.declaration&&sn.text(", "+v.declaration,m),v.nullable&&sn.text(", nullable",m);if(this.conf.idlOldStyleExceptions&&v.raises.length){var k=sn.element("table",{"class":"exceptions"},g),S=sn.element("tr",{},k);["Exception","On Get","On Set","Description"].forEach(function(e){sn.element("th",{},S,e)});for(var y=0;y<v.raises.length;y++){var M=v.raises[y],S=sn.element("tr",{},k);sn.element("td",{"class":"excName"},S,[sn.element("a",{},null,M.id)]),["onGet","onSet"].forEach(function(e){M[e]?sn.element("td",{"class":"excGetSetTrue"},S,"✔"):sn.element("td",{"class":"excGetSetFalse"},S,"✘")});var _=sn.element("td",{"class":"excDesc"},S);if(M.type=="simple")_.appendChild(M.description);else{var D=sn.element("table",{"class":"exceptionCodes"},_);for(var P=0;P<M.description.length;P++){var H=M.description[P],S=sn.element("tr",{},D);sn.element("td",{"class":"excCodeName"},S,[sn.element("code",{},null,H.id)]),sn.element("td",{"class":"excCodeDesc"},S,[H.description])}}}}}else f=="constant"&&(sn.text(" of type ",m),sn.element("span",{"class":"idlConstType"},m,[sn.element("a",{},null,v.datatype)]),v.nullable&&sn.text(", nullable",m))}}else{var j=sn.element("div",{},c),v=l[0];if(v.serializertype!="prose"){var F="Instances of this interface are serialized as ";if(v.serializertype=="map"){var I="a map ";if(v.getter)I+="with entries corresponding to the named properties";else{var q="";v.inherit&&(I+="with entries from the closest inherited interface ",q="and "),v.all?I+=q+"with entries for each of the serializable attributes":v.values&&v.values.length?I+=q+"with entries for the following attributes: "+v.values.join(", "):I="an empty map"}F+=I}else if(v.serializertype=="list"){var R="a list ";v.getter?R+="with values corresponding to the indexed properties":v.values&&v.values.length?R+="with the values of the following attributes: "+v.values.join(", "):R="an empty list",F+=R}else v.serializertype=="attribute"&&(F+="the value of the attribute "+v.values[0]);F+=".",sn.element("p",{},j,F)}sn.element("p",{},j,[v.description])}}return r}},makeMethodID:function(e,t){var n=e+t.refId+"-"+t.datatype+"-",r=[];for(var i=0,s=t.params.length;i<s;i++){var o=t.params[i];r.push(o.datatype+(o.array?"Array":"")+"-"+o.id)}return n+=r.join("-"),x(n)},mergeWebIDL:function(e){if(typeof e.merge=="undefined"||e.merge.length===0)return;setTimeout(function(){for(var t=0;t<e.merge.length;t++){var n=document.querySelector("#idl-def-"+e.refId),r=document.querySelector("#idl-def-"+e.merge[t]);n.insertBefore(document.createElement("br"),n.firstChild),n.insertBefore(document.createElement("br"),n.firstChild),r.parentNode.parentNode.removeChild(r.parentNode),n.insertBefore(r,n.firstChild)}},0)},writeAsWebIDL:function(e,t){t++;var s={indent:t,obj:e,proc:this};if(e.type==="module"){if(e.id=="outermost"){var f=$("<div></div>");for(var h=0;h<e.children.length;h++)f.append(this.writeAsWebIDL(e.children[h],t-1));return f.children()}return $(n(s))}if(e.type==="typedef")return s.nullable=e.nullable?"?":"",s.arr=T(e),$(r(s));if(e.type==="implements")return $(i(s));if(e.type==="interface"){var p=this.doc.createElement("div"),d=$(p).makeID("idl-def",e.refId,!0),v=0,m=0,g=0,w=!1;e.children.forEach(function(e){var t=0;e.isUnionType?t=e.datatype.join(" or ").length+2:e.datatype&&(t=e.datatype.length),e.isStatic&&(t+=7),e.nullable&&(t+=1),e.array&&(t+=2*e.arrayCount),e.type=="attribute"?v=t>v?t:v:e.type=="method"?m=t>m?t:m:e.type=="constant"&&(g=t>g?t:g),e.type=="attribute"&&e.declaration&&(w=!0)});var E="widl-"+e.refId+"-",S=this,x=[],N=e.children.map(function(e){if(e.type=="attribute")return S.writeAttribute(e,v,t+1,E,w);if(e.type=="method")return S.writeMethod(e,m,t+1,E);if(e.type=="constant")return S.writeConst(e,g,t+1,E);if(e.type=="serializer")return S.writeSerializer(e,t+1,E);if(e.type=="constructor")x.push(S.writeConstructor(e,t,"widl-ctor-"));else if(e.type=="comment")return S.writeComment(e,t+1)}).join("");return b({obj:e,indent:t,id:d,ctor:x.join(",\n"),partial:e.partial?"partial ":"",callback:e.callback?"callback ":"",children:N})}if(e.type==="exception"){var v=0,g=0;e.children.forEach(function(e){var t=e.datatype.length;e.nullable&&(t+=1),e.array&&(t+=2*e.arrayCount),e.type==="field"?v=t>v?t:v:e.type==="constant"&&(g=t>g?t:g)});var E="widl-"+e.refId+"-",S=this,N=e.children.map(function(e){if(e.type==="field")return S.writeField(e,v,t+1,E);if(e.type==="constant")return S.writeConst(e,g,t+1,E)}).join("");return y({obj:e,indent:t,children:N})}if(e.type==="dictionary"){var C=0;e.children.forEach(function(e){var t=0;e.isUnionType?t=e.datatype.join(" or ").length+2:e.datatype&&(t=e.datatype.length),e.nullable&&(t+=1),e.array&&(t+=2*e.arrayCount),C=t>C?t:C});var E="widl-"+e.refId+"-",S=this,N=e.children.map(function(e){return S.writeMember(e,C,t+1,E)}).join("");return o({obj:e,indent:t,children:N,partial:e.partial?"partial ":""})}if(e.type==="callback"){var k=e.children.map(function(e){return l({obj:e,optional:e.optional?"optional ":"",arr:T(e),nullable:e.nullable?"?":"",variadic:e.variadic?"...":""})}).join(", ");return c({obj:e,indent:t,arr:T(e),nullable:e.nullable?"?":"",children:k})}if(e.type==="enum"){var N=e.children.map(function(n){return u({obj:n,parentID:e.refId,indent:t+1})}).join(",\n");return a({obj:e,indent:t,children:N})}},writeField:function(e,t,n,r){var i=t-e.datatype.length;return e.nullable&&(i-=1),e.array&&(i-=2*e.arrayCount),g({obj:e,indent:n,arr:T(e),nullable:e.nullable?"?":"",pad:i,href:r+e.refId})},writeAttribute:function(e,t,n,r){var i=0;e.isUnionType?i=e.datatype.join(" or ").length+2:e.datatype&&(i=e.datatype.length);var s=t-i;return e.nullable&&(s-=1),e.array&&(s-=2*e.arrayCount),d({obj:e,indent:n,declaration:e.declaration,pad:s,arr:T(e),nullable:e.nullable?"?":"",href:r+e.refId})},writeMethod:function(e,t,n,r){var i=e.params.map(function(e){return l({obj:e,optional:e.optional?"optional ":"",arr:T(e),nullable:e.nullable?"?":"",variadic:e.variadic?"...":""})}).join(", "),s=0;e.isUnionType?s=e.datatype.join(" or ").length+2:s=e.datatype.length,e.isStatic&&(s+=7);var o=t-s;return e.nullable&&(o-=1),e.array&&(o-=2*e.arrayCount),h({obj:e,indent:n,arr:T(e),nullable:e.nullable?"?":"","static":e.isStatic?"static ":"",pad:o,id:this.makeMethodID(r,e),children:i})},writeConstructor:function(e,t,n){var r=e.params.map(function(e){return l({obj:e,optional:e.optional?"optional ":"",arr:T(e),nullable:e.nullable?"?":"",variadic:e.variadic?"...":""})}).join(", ");return p({obj:e,indent:t,id:this.makeMethodID(n,e),name:e.named?e.id:"Constructor",keyword:e.named?"NamedConstructor=":"",children:r})},writeConst:function(e,t,n){var r=t-e.datatype.length;return e.nullable&&r--,f({obj:e,indent:n,pad:r,nullable:e.nullable?"?":""})},writeComment:function(e,t){return m({obj:e,indent:t,comment:e.id})},writeSerializer:function(e,t){var n="";if(e.serializertype=="map"){var r=[];e.getter?r=["getter"]:(e.inherit&&r.push("inherit"),e.all?r.push("attribute"):r=r.concat(e.values)),n="{"+r.join(", ")+"}"}else if(e.serializertype=="list"){var i=e.getter?["getter"]:e.values;n="["+i.join(", ")+"]"}else e.serializertype=="attribute"&&(n=e.values[0]);return v({obj:e,indent:t,values:n})},writeMember:function(e,t,n,r){var i={obj:e,indent:n,curLnk:r,nullable:e.nullable?"?":"",arr:T(e)};return e.isUnionType?i.pad=t-(e.datatype.join(" or ").length+2):e.datatype&&(i.pad=t-e.datatype.length),e.nullable&&(i.pad=i.pad-1),e.array&&(i.pad=i.pad-2*e.arrayCount),s(i)}},{run:function(e,n,r,i){i.pub("start","core/webidl"),e.noIDLSorting||(e.noIDLSorting=!1),e.noIDLSectionTitle||(e.noIDLSectionTitle=!1);var s=$(".idl",n),o=function(){i.pub("end","core/webidl"),r()};if(!s.length)return o();$(n).find("head link").first().before($("<style/>").text(t));var u=[];s.each(function(){var t=new w({noIDLSorting:e.noIDLSorting,msg:i,doc:n,conf:e}),r=t.definition($(this)),s=t.makeMarkup(r.htmlID);$(this).replaceWith(s),$.inArray(r.type,"interface exception dictionary typedef callback enum".split(" "))!==-1&&u.push(r.id)}),n.normalize(),$("a:not([href])").each(function(){var e=$(this);if(e.hasClass("externalDFN"))return;var t=e.text();$.inArray(t,u)!==-1&&e.attr("href","#idl-def-"+t).addClass("idlType").html("<code>"+t+"</code>")}),o()}}}),define("core/dfn",[],function(){return{run:function(e,t,n,r){r.pub("start","core/dfn"),t.normalize(),e.definitionMap||(e.definitionMap={}),$("dfn").each(function(){var t=$(this).dfnTitle();e.definitionMap[t]&&r.pub("error","Duplicate definition of '"+t+"'"),e.definitionMap[t]=$(this).makeID("dfn",t)}),$("a:not([href])").each(function(){var t=$(this);if(t.hasClass("externalDFN"))return;var n=t.dfnTitle();e.definitionMap[n]&&!(e.definitionMap[n]instanceof Function)&&t.attr("href","#"+e.definitionMap[n]).addClass("internalDFN")}),r.pub("end","core/dfn"),n()}}}),define("core/fix-headers",[],function(){return{run:function(e,t,n,r){r.pub("start","core/fix-headers");var i=$("section:not(.introductory)",t).find("h1:first, h2:first, h3:first, h4:first, h5:first, h6:first");i.each(function(){var e=$(this).parents("section").length+1;e>6&&(e=6);var t="h"+e;this.localName.toLowerCase()!=t&&$(this).renameElement(t)}),r.pub("end","core/fix-headers"),n()}}}),define("core/structure",[],function(){var e={en:{toc:"Table of Contents"},fr:{toc:"Sommaire"}},t={},n=!1,r=0,i="ABCDEFGHIJKLMNOPQRSTUVWXYZ",s=function(e,o,u,a,f){var l=e.children(f.tocIntroductory?"section":"section:not(.introductory)");if(l.length===0)return null;var c=$("<ul class='toc'></ul>");for(var h=0;h<l.length;h++){var p=$(l[h],o),d=p.hasClass("introductory");if(!p.children().length)continue;var v=p.children()[0],m=v.localName.toLowerCase();if(m!=="h2"&&m!=="h3"&&m!=="h4"&&m!=="h5"&&m!=="h6")continue;var g=v.textContent,y=$("<div></div>").append($(v).contents().clone());y.find("a").renameElement("span").attr("class","formerLink").removeAttr("href"),y.find("dfn").renameElement("span").removeAttr("id");var b=p.makeID(null,g);d||u[u.length-1]++;var w=u.slice();p.hasClass("appendix")&&u.length===1&&!n&&(r=u[0],n=!0),n&&(w[0]=i.charAt(u[0]-r));var E=w.join("."),S=w.length==1;S&&(E+=".",$(v).before(document.createComment("OddPage")));var x=$("<span class='secno'></span>").text(E+" ");d||$(v).prepend(x),t[b]=(d?"":"<span class='secno'>"+E+"</span> ")+"<span class='sec-title'>"+g+"</span>";var T=$("<a/>").attr({href:"#"+b,"class":"tocxref"}).append(d?"":x.clone()).append(y.contents()),N=$("<li class='tocline'/>").append(T);c.append(N);if(f.maxTocLevel&&a>=f.maxTocLevel)continue;u.push(0);var C=s(p,o,u,a+1,f);C&&N.append(C),u.pop()}return c};return{run:function(n,r,i,o){o.pub("start","core/structure"),n.tocIntroductory||(n.tocIntroductory=!1),n.maxTocLevel||(n.maxTocLevel=0);var u=$("section:not(.introductory)",r).find("h1:first, h2:first, h3:first, h4:first, h5:first, h6:first"),a=function(){o.pub("end","core/structure"),i()};if(!u.length)return a();u.each(function(){var e=$(this).parents("section").length+1;e>6&&(e=6);var t="h"+e;this.localName.toLowerCase()!=t&&$(this).renameElement(t)});if(!n.noTOC){var f=s($("body",r),r,[0],1,n);if(!f)return;var l=$("<section id='toc'/>").append("<h2 class='introductory'>"+e[n.lang||"en"].toc+"</h2>").append(f),c=$("#toc",r);c.length||(c=$("#sotd",r)),c.length||(c=$("#abstract",r)),c.after(l)}$("a[href^='#']:not(.tocxref)",r).each(function(){var e=$(this);if(e.html()!=="")return;var n=e.attr("href").slice(1);t[n]&&(e.addClass("sec-ref"),e.html(t[n]))}),a()}}}),define("w3c/informative",[],function(){return{run:function(e,t,n,r){r.pub("start","core/informative"),$("section.informative").find("h2:first, h3:first, h4:first, h5:first, h6:first").after("<p><em>This section is non-normative.</em></p>"),r.pub("end","core/informative"),n()}}}),define("core/section-refs",[],function(){return{run:function(e,t,n,r){r.pub("start","core/section-refs"),$("a.sectionRef").each(function(){var e=$(this);if(!e.attr("href"))return;var t=e.attr("href").substring(1),n=$("#"+t),r="Not found '"+t+"'";n.length&&(r=n.find("> :first-child").text()),e.text("section "+r)}),r.pub("end","core/section-refs"),n()}}}),define("core/id-headers",[],function(){return{run:function(e,t,n,r){r.pub("start","core/id-headers"),$("h2, h3, h4, h5, h6").each(function(){var e=$(this);if(!e.attr("id")){if(e.parent("section").attr("id")&&e.prev().length===0)return;e.makeID()}}),r.pub("end","core/id-headers"),n()}}}),define("core/remove-respec",[],function(){return{run:function(e,t,n,r){r.pub("start","core/remove-respec"),$(".remove, script[data-requiremodule]",t).remove(),r.pub("end","core/remove-respec"),n()}}}),define("core/location-hash",[],function(){return{run:function(e,t,n,r){r.pub("start","core/location-hash");var i=window.location.hash,s=window.pageYOffset!==undefined?window.pageYOffset:(document.documentElement||document.body.parentNode||document.body).scrollTop;i&&!s&&(window.location.hash="",window.location.hash=i),r.pub("end","core/location-hash"),n()}}}),define("profile-w3c-common",["domReady","core/base-runner","core/override-configuration","core/default-root-attr","core/markdown","core/style","w3c/style","w3c/headers","w3c/abstract","w3c/conformance","core/data-transform","core/data-include","core/inlines","core/examples","core/issues-notes","core/requirements","core/highlight","core/best-practices","core/figures","w3c/legacy","core/webidl-oldschool","core/dfn","core/fix-headers","core/structure","w3c/informative","core/section-refs","core/id-headers","core/remove-respec","core/location-hash"],function(e,t){var n=Array.prototype.slice.call(arguments),r=!1;e(function(){r=!0,t.runAll(n)})}),typeof berjon=="undefined"&&(window.berjon={}),berjon.simpleNode=function(e,t){e||(e={}),t||(t=document),this.ns=e,this.doc=t},berjon.calls={},berjon.simpleNode.prototype={element:function(e,t,n,r){t||(t={});var i=this._nameToQName(e,!1),s=this.doc.createElementNS(i.ns,e);for(var o in t)this._setAttr(s,o,t[o]);n&&n.appendChild(s);if(r)if(r instanceof jQuery)$(s).append(r);else if(r instanceof Array)for(var u=0;u<r.length;u++)$(s).append(r[u]);else this.text(r,s);return s},text:function(e,t){var n=this.doc.createTextNode(e);return t&&t.appendChild(n),n},comment:function(e,t){var n=this.doc.createComment(e);return t&&t.appendChild(n),n},pi:function(e,t,n){var r=this.doc.createProcessingInstruction(e,t);return n&&n.appendChild(r),r},documentFragment:function(e,t){var n=this.doc.createDocumentFragment();if(t)if(t instanceof Array)for(var r=0;r<t.length;r++)n.appendChild(t[r]);else this.text(t,n);return e&&e.appendChild(n),n},findNodes:function(e,t){t||(t=this.doc);var n=this.ns,r=this.doc.evaluate(e,t,function(e){return n[e]||null},XPathResult.ORDERED_NODE_SNAPSHOT_TYPE,null),i=[];for(var s=0;s<r.snapshotLength;s++)i.push(r.snapshotItem(s));return i},copyChildren:function(e,t){while(e.childNodes.length)t.appendChild(e.firstChild)},copyAttr:function(e,t){for(var n=0;n<e.attributes.length;n++){var r=e.attributes[n];t.setAttributeNS(r.namespaceURI,r.name,r.value)}},renameEl:function(e,t){var n=e.nextSibling,r=e.parentNode;r&&r.removeChild(e);var i=this.element(t);return this.copyAttr(e,i),this.copyChildren(e,i),r&&r.insertBefore(i,n),i},makeID:function(e,t,n){if(e.hasAttribute("id"))return e.getAttribute("id");var r="";return n||(e.hasAttribute("title")?n=e.getAttribute("title"):n=e.textContent),n=n.replace(/^\s+/,""),n=n.replace(/\s+$/,""),r+=n,r=r.toLowerCase(),r.length===0&&(r="generatedID"),r=this.sanitiseID(r),t&&(r=t+"-"+r),r=this.idThatDoesNotExist(r),e.setAttribute("id",r),r},sanitiseID:function(e){return e=e.split(/[^\-.0-9a-zA-Z_]/).join("-"),e=e.replace(/^-+/g,""),e=e.replace(/-+$/,""),e.length>0&&/^[^a-z]/.test(e)&&(e="x"+e),e.length===0&&(e="generatedID"),e},idCache:{},idThatDoesNotExist:function(e){var t=1;if(this.doc.getElementById(e)||this.idCache[e]){while(this.doc.getElementById(e+"-"+t)||this.idCache[e+"-"+t])t++;e=e+"-"+t}return e},hasClass:function(e,t){return this.listClasses(e).indexOf(t)>=0},addClass:function(e,t){var n=this.listClasses(e);if(n.indexOf(t)>=0)return;n.push(t),this.setClassList(e,n)},removeClass:function(e,t){var n=this.listClasses(e),r=n.indexOf(t);if(r<0)return;n.splice(r,1),this.setClassList(e,n)},listClasses:function(e){return e.hasAttribute("class")?e.getAttribute("class").split(/\s+/):[]},setClassList:function(e,t){e.setAttribute("class",t.join(" "))},_nameToQName:function(e,t){var n=/^(.+):(.+)$/.exec(e),r,i,s;if(n){r=n[1],s=n[2];if(!this.ns[r])throw"No namespace declared for prefix '"+r+"'";i=this.ns[r]}else t?i=null:i=this.ns[""],s=e;return{ns:i,ln:s}},_setAttr:function(e,t,n){var r=this._nameToQName(t,!0);e.setAttributeNS(r.ns,r.ln,n)}},define("simpleNode",function(){}),shortcut={all_shortcuts:{},add:function(e,t,n){var r={type:"keydown",propagate:!1,disable_in_input:!1,target:document,keycode:!1};if(!n)n=r;else for(var i in r)typeof n[i]=="undefined"&&(n[i]=r[i]);var s=n.target;typeof n.target=="string"&&(s=document.getElementById(n.target));var o=this;e=e.toLowerCase();var u=function(r){r=r||window.event;if(n.disable_in_input){var i;r.target?i=r.target:r.srcElement&&(i=r.srcElement),i.nodeType==3&&(i=i.parentNode);if(i.tagName=="INPUT"||i.tagName=="TEXTAREA")return}r.keyCode?code=r.keyCode:r.which&&(code=r.which);var s=String.fromCharCode(code).toLowerCase();code==188&&(s=","),code==190&&(s=".");var o=e.split("+"),u=0,a={"`":"~",1:"!",2:"@",3:"#",4:"$",5:"%",6:"^",7:"&",8:"*",9:"(",0:")","-":"_","=":"+",";":":","'":'"',",":"<",".":">","/":"?","\\":"|"},f={esc:27,escape:27,tab:9,space:32,"return":13,enter:13,backspace:8,scrolllock:145,scroll_lock:145,scroll:145,capslock:20,caps_lock:20,caps:20,numlock:144,num_lock:144,num:144,pause:19,"break":19,insert:45,home:36,"delete":46,end:35,pageup:33,page_up:33,pu:33,pagedown:34,page_down:34,pd:34,left:37,up:38,right:39,down:40,f1:112,f2:113,f3:114,f4:115,f5:116,f6:117,f7:118,f8:119,f9:120,f10:121,f11:122,f12:123},l={shift:{wanted:!1,pressed:!1},ctrl:{wanted:!1,pressed:!1},alt:{wanted:!1,pressed:!1},meta:{wanted:!1,pressed:!1}};r.ctrlKey&&(l.ctrl.pressed=!0),r.shiftKey&&(l.shift.pressed=!0),r.altKey&&(l.alt.pressed=!0),r.metaKey&&(l.meta.pressed=!0);for(var c=0;k=o[c],c<o.length;c++)k=="ctrl"||k=="control"?(u++,l.ctrl.wanted=!0):k=="shift"?(u++,l.shift.wanted=!0):k=="alt"?(u++,l.alt.wanted=!0):k=="meta"?(u++,l.meta.wanted=!0):k.length>1?f[k]==code&&u++:n.keycode?n["keycode"]==code&&u++:s==k?u++:a[s]&&r.shiftKey&&(s=a[s],s==k&&u++);if(u==o.length&&l.ctrl.pressed==l.ctrl.wanted&&l.shift.pressed==l.shift.wanted&&l.alt.pressed==l.alt.wanted&&l.meta.pressed==l.meta.wanted){t(r);if(!n.propagate)return r.cancelBubble=!0,r.returnValue=!1,r.stopPropagation&&(r.stopPropagation(),r.preventDefault()),!1}};this.all_shortcuts[e]={callback:u,target:s,event:n.type},s.addEventListener?s.addEventListener(n.type,u,!1):s.attachEvent?s.attachEvent("on"+n.type,u):s["on"+n.type]=u},remove:function(e){e=e.toLowerCase();var t=this.all_shortcuts[e];delete this.all_shortcuts[e];if(!t)return;var n=t.event,r=t.target,i=t.callback;r.detachEvent?r.detachEvent("on"+n,i):r.removeEventListener?r.removeEventListener(n,i,!1):r["on"+n]=!1}},define("shortcut",function(){})
\ No newline at end of file
Binary file ttml-ww-profiles/text-render-example-figure-2.png has changed
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/ttml-ww-profiles/ttml-ww-profiles.source.html	Sun Sep 01 11:29:56 2013 -0600
@@ -0,0 +1,2323 @@
+<!DOCTYPE html>
+
+<html>
+<head>
+  <meta name="generator" content="HTML Tidy for HTML5 (experimental) for Windows https://github.com/w3c/tidy-html5/tree/c63cc39">
+  <meta charset='utf-8'>
+
+  <title>TTML Text and Image Profiles for Internet Media Subtitles and Captions</title>
+  <script src='respec-w3c-common.js' class='remove'>
+</script>
+  <script class='remove'>
+var respecConfig = {
+				specStatus:   "unofficial"
+             /*specStatus:   "Member-SUBM"*/
+          ,   shortName:    "ttml-ww-profiles"
+                  ,   overrideCopyright: ["<p class='copyright'>Copyright © 2013 Motion Picture Laboratories, Inc. Derived from the Common File Format & Media Formats Specification 1.0.6 and Common File Format Timed Text XML Schemas 1.0.6 posted at http://www.uvvuwiki.com, © Digital Entertainment Content Ecosystem (DECE) LLC and used with permission.This document is available under the <a href='http://www.w3.org/Consortium/Legal/copyright-documents'>W3C Document License</a>. See the <a href='http://www.w3.org/Consortium/Legal/ipr-notice#Copyright'>W3C Intellectual Rights Notice and Legal Disclaimers</a>for additional information.</p>"]
+          ,   editors:      [{ name: "Pierre Lemieux", mailto: "pal@sandflow.com" }]
+		  ,   wg: "TBD"
+		  ,   wgPublicList: "TBD"
+		  ,   localBiblio:  {
+                  "TTML2":  "World Wide Web Consortium (W3C). Timed Text Markup Language (TTML) 2.0.",
+				  "CEA-608": "<a href='http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/Line-21-Data-Service.aspx'>Line-21 Data Services</a>, ANSI/CEA Standard.",
+				  "CEA-708": "<a href='http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/CEA-708-D.aspx'>Digital Television (DTV) Closed Captioning</a>, ANSI/CEA Standard.",
+				  "MHP" : "ETSI TS 101 812 V1.3.1, Digital Video Broadcasting (DVB); Multimedia Home",
+				  "ST2052-1": "SMPTE ST 2052-1, Timed Text Format (SMPTE-TT)"
+              }
+        };
+  </script>
+</head>
+
+<body>
+  <section id='abstract'>
+    <p>This submission specifies two profiles of the Timed Text Markup Language (TTML) Version 2.0: a text-only profile and an
+    image-only profile. These profiles are intended to be used across subtitle and caption delivery applications worldwide, thereby
+    simplifying interoperability, consistent rendering and conversion to other subtitling and captioning formats.</p>
+
+    <p>Both profiles are based on the <a href="http://www.uvvuwiki.com/">Common File Format &amp; Media Formats Specification
+    (CFF)</a> developed by <a href="http://www.uvvu.com/partners.php">Digital Entertainment Content Ecosystem (DECE)</a>, and
+    benefit from the technical consensus, conformance testing and implementation experience gathered there. The text
+    profile is intended as a superset of <a href="http://www.w3.org/TR/ttml10-sdp-us/">SDP-US</a>, which is a subset of CFF. The
+    image profile extends a subset of TTML with <a href="https://www.smpte.org/sites/default/files/st2052-1-2010.pdf">SMPTE
+    Timed Text (SMPTE-TT)</a> image support.</p>
+
+    <p>DECE is an industry forum with more than 80 members across the content and consumer electronics communities.</p>
+  </section>
+
+  <section id='scope'>
+    <h2>Scope</h2>
+
+    <p>This document specifies two profiles of [[!TTML2]]: a text-only profile and an image-only
+    profile. These profiles are intended for subtitle and caption delivery worldwide, including dialog language translation,
+    content description, captions for deaf and hard of hearing, etc.</p>
+  </section>
+
+  <section id="conformance">
+    <p>A subtitle document SHALL conform to a profile defined herein if it meets all normative provisions associated with the
+    profile.</p>
+
+    <p>A TTML presentation processor SHALL conform to a profile if it is capable of presenting any subtitle document conforming to
+    the profile, i.e. if it implements all features and provisions of the profile</p>
+  </section>
+
+  <section>
+    <h2>Profiles</h2>
+
+    <section>
+      <h3>General</h3>
+
+      <p>A subtitle document SHALL NOT conform to the Text and Image Profiles simultaneously.</p>
+    </section>
+
+    <section>
+      <h3>Text Profile</h3>
+
+      <p>A subtitle document conforming to the Text Profile SHALL conform to Sections <a href="#common-constraints"></a> and
+      <a href="#text-profile-constraints"></a>.</p>
+    </section>
+
+    <section>
+      <h3>Image Profile</h3>
+
+      <p>A subtitle document conforming to the Image Profile SHALL conform to Sections <a href="#common-constraints"></a> and
+      <a href="#image-profile-constraints"></a>.</p>
+    </section>
+  </section>
+
+  <section>
+    <h2>Common Constraints</h2>
+
+    <section>
+      <h3>Document Encoding</h3>
+
+      <p>A subtitle document SHALL use UTF-8 character encoding as specified in [[!UNICODE]].</p>
+    </section>
+
+    <section>
+      <h3>Related Video Object</h3>
+
+      <section>
+        <h4>General</h4>
+
+        <p>A subtitle document MAY be associated with a related video object, which SHALL consist of a sequence of frames, each a
+        rectangular array of pixels.</p>
+      </section>
+
+      <section>
+        <h4>Root Container</h4>
+
+        <p class='note'>The following assumes the addition of a <code>ttp:aspectRatio</code> attribute to [[!TTML2]].</p>
+
+        <p>The root container of a subtitle document SHALL be mapped to the related video object frame according to the
+        following:</p>
+
+        <ol>
+          <li>
+            <p>If <code>ttp:aspectRatio</code> is present, the root container SHALL be mapped to a rectangular area within the
+            related video object such that:</p>
+
+            <ol style="list-style-type: lower-roman;">
+              <li>the aspect ratio of the rectangular area is equal to <code>ttp:aspectRatio</code>,</li>
+
+              <li>the center of the rectangular area is colocated with the center of the related video object frame,</li>
+
+              <li>the rectangular area is entirely contained within the related video object frame and</li>
+
+              <li>the rectangular area has a height or width equal to that of the related video object frame.</li>
+            </ol>
+          </li>
+
+          <li>
+            <p>Otherwise, the root container of a subtitle document SHALL be mapped to the related video object frame in its
+            entirety. If <code>tts:extent</code> is present on the <code>tt</code> element, the extents of the root container SHALL
+            be equal to the dimensions of the related video object frame.</p>
+          </li>
+        </ol>
+
+        <p><code>ttp:aspectRatio</code> SHALL NOT be present if <code>tts:extent</code> is present.<br></p>
+
+        <p class='note'>As specified in Section <a href="#features"></a>, <code>tts:extent</code> is present if the <code>px</code>
+        length measure is used anywhere within the document.</p>
+
+        <p>Integer pixel positions on the related video object frame computed from real percentage length values SHALL use half-up
+        rounding, i.e. round(x) = floor(x+0.5).</p>
+      </section>
+
+      <section>
+        <h4>Synchronization</h4>
+
+        <p>Each intermediate synchronic document of the subtitle document is intended to be displayed on a specific frame and
+        removed on a specific frame of the related video object.</p>
+
+        <p>A media time expression M SHALL correspond to the frame of the related video object with the presentation time that is
+        the closest to, but not less, than M.</p>
+
+        <p>If <code>ttp:frameRate</code> is specified, then the product of <code>ttp:frameRate</code> and
+        <code>ttp:frameRateMultiplier</code> SHALL be the frame rate of the related video object.</p>
+
+        <aside class="example">
+          A media time expression of 00:00:05.1 corresponds to frame ceiling(5.1 × ( 1000 / 1001 × 30) = 153 of a related video
+          object with a frame rate of 1000 / 1001 × 30 ≈ 29.97.
+        </aside>
+      </section>
+    </section>
+
+    <section>
+      <h3>Language</h3>
+
+      <p>All instances of the <code>xml:lang</code> attribute within a subtitle document SHALL have identical values.</p>
+
+      <p class='note'><code>xml:lang</code> can have a value of &quot;&quot;.</p>
+    </section>
+
+    <section>
+      <h3>Region</h3>
+
+      <section>
+        <h4>Presented Region</h4>
+
+        <p>A region, as defined in [[!TTML2]], SHALL be considered presented in a given intermediate synchronic document if both of the
+        following conditions are true:</p>
+
+        <ol>
+          <li>
+            <p><code>tts:opacity</code> is not equal to &quot;0.0&quot; for the region; and</p>
+          </li>
+
+          <li>
+            <p>content is selected into the region or <code>tts:showBackground</code> is equal to &quot;always&quot; for the
+            region.</p>
+          </li>
+        </ol>
+		
+		<!-- add note: why was tts:display ignored -> simplicity? how can the same be achieved: nothing selected -->
+
+        <p class='note'>As specified in [[!TTML2]], the initial value of <code>tts:opacity</code> is &quot;1.0&quot; and the default
+        value of <code>tts:showBackground</code> is &quot;always&quot;.</p>
+      </section>
+
+      <section>
+        <h4>Dimensions and Position</h4>
+
+        <p>All regions SHALL be entirely contained within the root container.</p>
+
+        <p>No two regions presented in a given intermediate synchronic document SHALL overlap</p>
+      </section>
+
+      <section>
+        <h4>Maximum number</h4>
+
+        <p>The number of presented regions in a given intermediate synchronic document SHALL be smaller than or equal to 4.</p>
+      </section>
+    </section>
+
+    <section>
+      <h3>Hypothetical Render Model</h3>
+
+      <p>Any sequence of consecutive intermediate synchronic documents SHALL be reproducible without error by the Hypothetical
+      Render Model specified in Section <a href="#hypothetical-render-model"></a>.</p>
+    </section>
+
+    <section>
+      <h3>Features</h3>
+
+      <table class='simple'>
+        <thead>
+          <tr>
+            <th>Feature</th>
+
+            <th>Provisions</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          <tr>
+            <td><code>#animation</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#cellResolution</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#clockMode</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#content</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#core</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#display-block</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#display-inline</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#display-region</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#display</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#dropMode</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#extent-region</code></td>
+
+            <td>MAY be used. The <code>tts:extent</code> attribute SHALL be present on all <code>region</code> elements.</td>
+          </tr>
+
+          <tr>
+            <td><code>#extent-root</code></td>
+
+            <td>MAY be used. If the document includes any length value that uses the <code>px</code> expression,
+            <code>tts:extent</code> SHALL be present on the <code>tt</code> element.</td>
+          </tr>
+
+          <tr>
+            <td><code>#extent</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#frameRate</code></td>
+
+            <td>If the document includes any time expression that uses the frame field, the <code>ttp:frameRate</code> attribute
+            SHALL be present on the <code>tt</code> element.</td>
+          </tr>
+
+          <tr>
+            <td><code>#frameRateMultiplier</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#layout</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-cell</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-integer</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-negative</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-percentage</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-pixel</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-positive</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-real</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#markerMode</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#metadata</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#opacity</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#origin</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#overflow</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#pixelAspectRatio</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#presentation</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#profile</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#showBackground</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#structure</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-chained</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-inheritance-content</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-inheritance-region</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-inline</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-nested</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling-referential</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#styling</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#subFrameRate</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#tickRate</code></td>
+
+            <td>MAY be used. <code>ttp:tickRate</code> SHALL be present on the <code>tt</code> element.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timeBase-clock</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timeBase-media</code></td>
+
+            <td>SHALL be used. <code>ttp:timeBase</code> SHALL be present on the <code>tt</code> element and SHALL be equal to
+            &quot;media&quot;.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timeBase-smpte</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#time-clock-with-frames</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#time-clock</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#time-offset-with-frames</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#time-offset-with-ticks</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#time-offset</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timeBase-media</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timeContainer</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#timing</code></td>
+
+            <td>MAY be used. The same syntax of <code>#clock-time</code> or <code>#offset-time</code> SHOULD be used throughout the
+            subtitle document.</td>
+          </tr>
+
+          <tr>
+            <td><code>#transformation</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#unicodeBidi</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#visibility-block</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#visibility-inline</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#visibility-region</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#visibility</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode-horizontal-lr</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode-horizontal-rl</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode-horizontal</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#zIndex</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#aspectRatio</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#forcedDisplay</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+        </tbody>
+      </table>
+
+      <p class='note'>See <a href="http://www.w3.org/AudioVideo/TT/tracker/issues/230">ISSUE-230</a> for a description of
+      <code>#forcedDisplay</code></p>
+
+      <p class='note'>This initial values specified for <code>tts:color</code>, <code>tts:displayAlign</code> and
+      <code>tts:textAlign</code> are those specified by [[ST2052-1]].</p>
+
+      <p class='note'>As specified in [[!TTML2]], a <code>#time-offset-with-frames</code> expression is translated to a media time M
+      according to M = 3600 · hours + 60 · minutes + seconds + (frames ÷ (<code>ttp:frameRateMultiplier</code> ·
+      <code>ttp:frameRate</code>)).</p>
+    </section>
+  </section>
+
+  <section>
+    <h2>Text Profile Constraints</h2>
+
+    <section>
+      <h3>Document Conformance</h3>
+
+      <p>A subtitle document conforming to the Text Profile SHALL be designated by the document conformance designator specified
+      below.</p>
+      <pre>
+http://www.w3.org/ns/ttml/profile/imsc-text
+</pre>
+
+      <p class='note'>The ttp:profile mechanism of TTML 1.0 allows a document to indicate the profile(s) that a processor SHALL
+      support in order to process the document. This mechanism cannot be used to indicate that a processor implementing any of the
+      referenced profiles can process the document. The document conformance concept introduced below extends the TTML 1.0
+      ttp:profile mechanism by allowing a document to signal that it conforms to a specified set of normative provisions.</p>
+    </section>
+
+    <section>
+      <h3>Features</h3>
+
+      <p class='note'>The following assumes, but does not require, the porting of the [[ST2052-1]]
+      <code>#backgroundImage</code>, <code>#backgroundImageHorizontal</code>, <code>#backgroundImageVertical</code> and
+      <code>#image</code> features to [[!TTML2]].</p>
+
+      <table class='simple'>
+        <thead>
+          <tr>
+            <th>Feature</th>
+
+            <th>Provisions</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          <tr>
+            <td><code>#backgroundColor-block</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundColor-inline</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundColor-region</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundColor</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundImage</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundImageHorizontal</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundImageVertical</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#bidi</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#color</code></td>
+
+            <td>MAY be used. The initial value of <code>tts:color</code> SHALL be &quot;white&quot;.</td>
+          </tr>
+
+          <tr>
+            <td><code>#direction</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#displayAlign</code></td>
+
+            <td>MAY be used. The initial value of <code>tts:displayAlign</code> SHALL be &quot;after&quot;.</td>
+          </tr>
+
+          <tr>
+            <td><code>#extent-region</code></td>
+
+            <td>The <code>tts:extent</code> attribute when applied to a region element SHALL use <code>px</code> units or
+            &quot;percentage&quot; representation, and SHALL NOT use <code>em</code> units.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontFamily-generic</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontFamily-non-generic</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontFamily</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontSize-anamorphic</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontSize-isomorphic</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontSize</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontStyle-italic</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontStyle-oblique</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontStyle</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontWeight-bold</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontWeight</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#image</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-em</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#lineBreak-uax14</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#lineHeight</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#nested-div</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#nested-span</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#origin</code></td>
+
+            <td>The <code>tts:origin</code> attribute SHALL use <code>px</code> units or &quot;percentage&quot; representation, and
+            SHALL NOT use <code>em</code> units.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding-1</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding-2</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding-3</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding-4</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textAlign-absolute</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textAlign-relative</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textAlign</code></td>
+
+            <td>MAY be used. The initial value of <code>tts:textAlign</code> SHALL be &quot;center&quot;.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textDecoration-over</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textDecoration-through</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textDecoration-under</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textDecoration</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textOutline-blurred</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textOutline-unblurred</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textOutline</code></td>
+
+            <td>MAY be used. If specified, the border thickness SHALL be 10% or less than the associated font size.</td>
+          </tr>
+
+          <tr>
+            <td><code>#wrapOption</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode-vertical</code></td>
+
+            <td>MAY be used.</td>
+          </tr>
+        </tbody>
+      </table>
+    </section>
+  </section>
+
+  <section>
+    <h2>Image Profile Constraints</h2>
+
+    <section>
+      <h3>Document Conformance</h3>
+
+      <p>The Image Profile SHALL be designated by the document conformance designator specified below:</p>
+      <pre>
+http://www.w3.org/ns/ttml/profile/imsc-image
+</pre>
+
+      <p class='note'>The ttp:profile mechanism of TTML 1.0 allows a document to indicate the profile(s) that a processor SHALL
+      support in order to process the document. This mechanism cannot be used to indicate that a processor implementing any of the
+      referenced profiles can process the document. The document conformance concept introduced below extends the TTML 1.0
+      ttp:profile mechanism by allowing a document to signal that it conforms to a specified set of normative
+      provisions.</p>
+    </section>
+
+    <section>
+      <h3>Features</h3>
+	  
+      <p class='note'>The following assumes, but does not require, the porting of the [[ST2052-1]]
+      <code>#backgroundImage</code>, <code>#backgroundImageHorizontal</code>, <code>#backgroundImageVertical</code> and
+      <code>#image</code> features to [[!TTML2]].</p>
+
+      <table class='simple'>
+        <thead>
+          <tr>
+            <th>Feature</th>
+
+            <th>Provisions</th>
+          </tr>
+        </thead>
+
+        <tbody>
+          <tr>
+            <td><code>#backgroundImage</code></td>
+
+            <td>MAY be used. The backgroundImage attribute SHALL reference a complete image that conforms to the PNG image coding
+            as specified in Sections 7.1.1.3 and 15.1 of [[!MHP]].<br>
+            If a pHYs chunk is present, it SHALL indicate square pixels. Note: If no pixel aspect ratio is carried, the default of
+            square pixels will be assumed.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundImageHorizontal</code></td>
+
+            <td>SHALL NOT be used. <code>#backgroundImage</code> remains available for use.</td>
+          </tr>
+
+          <tr>
+            <td><code>#backgroundImageVertical</code></td>
+
+            <td>SHALL NOT be used. <code>#backgroundImage</code> remains available for use.</td>
+          </tr>
+
+          <tr>
+            <td><code>#bidi</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#color</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#content</code></td>
+
+            <td>The <code>p</code>, <code>span</code> and <code>br</code> elements SHALL NOT be present.</td>
+          </tr>
+
+          <tr>
+            <td><code>#direction</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#displayAlign</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#extent-region</code></td>
+
+            <td>If a <code>tts:backgroundImage</code> attribute is applied to a region, the width and height of the region extent
+            SHALL be present and SHALL be equal to the width and height of the image source referenced by the
+            <code>tts:backgroundImage</code>.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontFamily</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontSize</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontStyle</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#fontWeight</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#image</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#length-em</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#lineBreak-uax14</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#lineHeight</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#nested-div</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#nested-span</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#padding</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textAlign</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textDecoration</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#textOutline</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#wrapOption</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+
+          <tr>
+            <td><code>#writingMode-vertical</code></td>
+
+            <td>SHALL NOT be used.</td>
+          </tr>
+        </tbody>
+      </table>
+    </section>
+  </section>
+
+  <section>
+    <h2>Hypothetical Render Model</h2>
+
+    <section>
+      <h3>Overview</h3>
+
+      <p>This Section specifies the Hypothetical Render Model illustrated in <a href="#fig-hypothetical-render-model"></a>.</p>
+
+      <p>The purpose of the model is to limit subtitle document complexity. It is not however intended to serve as basis for
+      implementation. For instance, while the model defines a glyph buffer for the purpose of limiting the number of glyphs
+      displayed at any given point in time, it does not require an implementation to implement such a buffer.</p>
+
+      <figure>
+        <img src="hypothetical-render-figure-1.png" alt="Hypothetical Render Model">
+
+        <figcaption>
+          Hypothetical Render Model
+        </figcaption>
+      </figure>
+
+      <p>The model operates on successive intermediate synchronic documents obtained from an input subtitle document, and uses a
+      simple double buffering model: while an intermediate synchronic document E<sub>n</sub> is being painted into Presentation
+      Buffer P<sub>n</sub> (the &quot;front buffer&quot; of the model), the previous intermediate synchronic document
+      E<sub>n-1</sub> is available for display in Presentation Buffer P<sub>n-1</sub> (the &quot;back buffer&quot; of the
+      model).</p>
+
+      <p>The model specifies an (hypothetical) time required for completely painting an intermediate synchronic document as a proxy
+      for complexity. Painting includes drawing region backgrounds, rendering and copying glyphs, and decoding and copying images.
+      Complexity is then limited by requiring that painting of intermediate synchronic document E<sub>n</sub> completes before the
+      end of intermediate synchronic document E<sub>n-1</sub>.</p>
+
+      <p>Whenever applicable, constraints are specified relative to root container dimensions, allowing subtitle sequences to be
+      authored independently of related video object resolution.</p>
+
+      <p>To enables scenarios where the same glyphs are used in multiple successive intermediate synchronic documents, e.g. to
+      convey a CEA-608/708-style roll-up (see [[CEA-608]] and [[CEA-708]]), the Glyph Buffers G<sub>n</sub> and G<sub>n-1</sub> store rendered glyphs across
+      intermediate synchronic documents, allowing glyphs to be copied into the Presentation Buffer instead of rendered, a more
+      costly operation.</p>
+
+      <p>Similarly, Decoded Image Buffers D<sub>n</sub> and D<sub>n-1</sub> store decoded images across intermediate synchronic
+      documents, allowing images to be copied into the Presentation Buffer instead of decoded.</p>
+    </section>
+
+    <section>
+      <h3>Model</h3>
+
+      <section>
+        <h4>General</h4>The Presentation Compositor SHALL render in Presentation Buffer P<sub>n</sub> each successive intermediate
+        synchronic document E<sub>n</sub> using the following steps in order:
+
+        <ol>
+          <li>clear the pixels, except for the first intermediate synchronic document E<sub>0</sub> for the which the pixels of
+          P<sub>0</sub> SHALL be assumed to have been cleared;</li>
+
+          <li>paint, according to stacking order, all background pixels for each region;</li>
+
+          <li>paint all pixels for background colors associated with text or image subtitle content; and</li>
+
+          <li>paint the text or image subtitle content.</li>
+        </ol>
+
+        <p>The Presentation Compositor SHALL start rendering E<sub>n</sub>:</p>
+
+        <ul>
+          <li>at the presentation time of E<sub>0</sub> minus Initial Painting Delay (IPD), if n = 0</li>
+
+          <li>at the presentation time of E<sub>n-1</sub>, if n &gt; 0</li>
+        </ul>
+
+        <p>The duration DUR(E<sub>n</sub>) for painting an intermediate synchronic document E<sub>n</sub> in the Presentation
+        Buffer P<sub>n</sub> SHALL be:</p>
+
+        <p>DUR(E<sub>n</sub>) = S(E<sub>n</sub>) / BDraw + DUR<sub>T</sub>(E<sub>n</sub>) + DUR<sub>I</sub>(E<sub>n</sub>)</p>
+
+        <p>Where:</p>
+
+        <ul>
+          <li>S(E<sub>n</sub>) is the total normalized drawing area for intermediate synchronic document E<sub>n</sub>, as
+          specified in <a href="#paint-regions"></a>
+          </li>
+
+          <li>BDraw is the normalized background drawing performance factor.</li>
+
+          <li>DUR<sub>T</sub>(E<sub>n</sub>) is the duration, in seconds, for painting the text subtitle content for intermediate
+          synchronic document E<sub>n</sub>, as specified in Section <a href="#paint-text"></a>
+          </li>
+
+          <li>DUR<sub>I</sub>(E<sub>n</sub>) is the duration, in seconds, for painting the image subtitle content for intermediate
+          synchronic document E<sub>n</sub>, as specified in Section <a href="#paint-images"></a>
+          </li>
+        </ul>
+
+        <p>The contents of the Presentation Buffer P<sub>n</sub> SHALL be transferred instantaneously to Presentation Buffer
+        P<sub>n-1</sub> at the presentation time of intermediate synchronic document E<sub>n</sub>, making the latter available for
+        display.</p>
+
+        <p class='note'>It is possible for the contents of Presentation Buffer P<sub>n-1</sub> to never be displayed. This can
+        happen if Presentation Buffer P<sub>n</sub> is copied twice to Presentation Buffer P<sub>n-1</sub> between two consecutive
+        video frame boundaries of the related video object.</p>
+
+        <p>It SHALL be an error for the Presentation Compositor to fail to complete painting pixels for E<sub>n</sub> before the
+        presentation time of E<sub>n</sub>.</p>
+
+        <p>Unless specified otherwise, the following table SHALL specify values for IPD and BDraw.</p>
+
+        <table class='simple'>
+          <thead>
+            <tr>
+              <th>Parameter</th>
+
+              <th>Initial value</th>
+            </tr>
+          </thead>
+
+          <tbody>
+            <tr>
+              <td>Initial Painting Delay (IPD)</td>
+
+              <td>1 s</td>
+            </tr>
+
+            <tr>
+              <td>Normalized background drawing performance factor (BDraw)</td>
+
+              <td>12 s<sup>-1</sup></td>
+            </tr>
+          </tbody>
+        </table>
+
+        <p class='note'>BDraw effectively sets a limit on fillings regions - for example, assuming that the root container is
+        ultimately rendered at 1920×1080 resolution, a BDraw of 12 s<sup>-1</sup> would correspond to a fill rate of
+        1920×1080×12/s=23.7×2<sup>20</sup>pixels s<sup>-1</sup>.</p>
+
+        <p class='note'>IPD effectively sets a limit on the complexity of any given intermediate synchronic document.</p>
+      </section>
+
+      <section>
+        <h3>Paint Regions</h3>
+
+        <p>The total normalized drawing area S(E<sub>n</sub>) for intermediate synchronic document E<sub>n</sub> SHALL be</p>
+
+        <p>S(E<sub>n</sub>) = CLEAR(E<sub>n</sub>) + PAINT(E<sub>n</sub> )</p>
+
+        <p>where CLEAR(E<sub>0</sub>) = 0 and CLEAR(E<sub>n | n &gt; 0</sub>) = 1, i.e. the root container in its entirety.</p>
+
+        <p class='note'>To ensure consistency of the Presentation Buffer, a new intermediate synchronic document requires clearing
+        of the root container.</p>
+
+        <p>PAINT(E<sub>n</sub>) SHALL be the normalized area to be painted for all regions that are used in intermediate synchronic
+        document E<sub>n</sub> according to</p>
+
+        <p>PAINT(E<sub>n</sub>) = ∑<sub>R<sub>i</sub>∈R<sub>p</sub></sub> SIZE(R<sub>i</sub>) ∙ NBG(R<sub>i</sub>)</p>
+
+        <p>where R_p SHALL be the set of regions presented in the intermediate synchronic document E<sub>n</sub> – see Section
+        <a href="#presented-region"></a> for the definition of presented region.</p>
+
+        <p>NSIZE(R<sub>i</sub>) SHALL be given by:</p>
+
+        <p>NSIZE(R<sub>i</sub>) = (width of R<sub>i</sub> ∙ height of R<sub>i</sub> ) ÷ (root container height ∙ root container
+        width)</p>
+
+        <aside class='example'>
+          For a region R<sub>i</sub> in with <code>tts:extent=&quot;250px 50px&quot;</code> within a root container with
+          <code>tts:extent=&quot;1920px 1080px&quot;</code>, NSIZE(R<sub>i</sub>) = 0.603.
+        </aside>
+
+        <p>NBG(R<sub>i</sub>) SHALL be the total number of <code>tts:backgroundColor</code> attributes associated with the given
+        region R<sub>i</sub> in the intermediate synchronic document. A <code>tts:backgroundColor</code> attribute is associated
+        with a region when it is explicitly specified (either as an attribute in the element, or by reference to a declared style)
+        in the following circumstances:</p>
+
+        <ul>
+          <li>It is specified on the <code>region</code> layout element that defines the region.</li>
+
+          <li>It is specified on a <code>div</code>, <code>p</code>, <code>span</code> or <code>br</code> content element that is
+          to be flowed into the region for presentation in the intermediate synchronic document (see [[!TTML2]] for more details on when
+          a content element is followed into a region).</li>
+
+          <li>It is specified on a <code>set</code> animation element that is to be applied to content elements that are to be
+          flowed into the region for presentation in the intermediate synchronic document (see [[!TTML2]] for more details on when a
+          <code>set</code> animation element is applied to content elements).</li>
+        </ul>
+
+        <p>Even if a specified <code>tts:backgroundColor</code> is the same as specified on the nearest ancestor content element or
+        animation element, specifying any <code>tts:backgroundColor</code> SHALL require an additional fill operation for all
+        region pixels.</p>
+      </section>
+
+      <section>
+        <h3>Paint Images</h3>
+
+        <p>The Presentation Compositor SHALL paint into the Presentation Buffer P<sub>n</sub> all visible pixels of presented
+        images of intermediate synchronic document E<sub>n</sub>.</p>
+
+        <p>A presented image SHALL be a <code>div</code> element with a smpte:backgroundImage attribute that is contained within a
+        presented region.</p>
+
+        <p>For each presented image, the Presentation Compositor SHALL either:</p>
+
+        <ul>
+          <li>if an identical image is present in Decoded Image Buffer D<sub>n</sub>, copy the image from Decoded Image Buffer
+          D<sub>n</sub> to the Presentation Buffer P<sub>n</sub> using the Image Copier; or</li>
+
+          <li>if an identical image is present in Decoded Image Buffer D<sub>n-1</sub>, i.e. an identical image was present in
+          intermediate synchronic document E<sub>n-1</sub>, copy using the Image Copier the glyph from Decoded Image Buffer
+          D<sub>n-1</sub> to both the Decoded Image Buffer D<sub>n</sub> and the Presentation Buffer P<sub>n</sub>; or</li>
+
+          <li>Otherwise, decode the image using the Image Decoder the image into the Presentation Buffer P<sub>n</sub> and Decoded
+          Image Buffer D<sub>n</sub>.</li>
+        </ul>
+
+        <p>Two images SHALL be identical if and only if they reference the same encoded image source.</p>
+
+        <p>The duration DUR<sub>I</sub>(E<sub>n</sub>) for painting images of an intermediate synchronic document E<sub>n</sub> in
+        the Presentation Buffer SHALL be as follows:</p>
+
+        <p>DUR<sub>I</sub>(E<sub>n</sub>) = ∑<sub>I<sub>i</sub> ∈ I<sub>c</sub></sub> NRGA(I<sub>i</sub>) / ICpy +
+        ∑<sub>I<sub>j</sub> ∈ I<sub>d</sub></sub> NSIZ(I<sub>j</sub>) / IDec</p>
+
+        <p>where</p>
+
+        <ul>
+          <li>I<sub>c</sub> is the set of images copied when painting intermediate synchronic document E<sub>n</sub></li>
+
+          <li>I<sub>d</sub> is the set of images decoded when painting intermediate synchronic document E<sub>n</sub></li>
+
+          <li>IDec is the image decoding rate</li>
+
+          <li>ICpy is the normalized image copy performance factor.</li>
+        </ul>
+
+        <p>NRGA(I<sub>i</sub>) is the Normalized Image Area of presented image I<sub>i</sub> and SHALL be equal to:</p>
+
+        <p>NRGA(I<sub>i</sub>)= (width of I<sub>i</sub> ) ∙ height of I<sub>i</sub> ) ÷ ( root container height ∙ root container
+        width )</p>
+
+        <p>NSIZ(I<sub>i</sub>) SHALL be the number of pixels of presented image I<sub>i</sub>.</p>
+
+        <p>The contents of the Decoded Image Buffer D<sub>n</sub> SHALL be transferred instantaneously to Decoded Image Buffer
+        D<sub>n-1</sub> at the presentation time of intermediate synchronic document E<sub>n</sub>.</p>
+
+        <p>The total size occupied by images stored in Decoded Image Buffers D<sub>n</sub> or D<sub>n-1</sub> SHALL be the sum of
+        their Normalized Image Area.</p>
+
+        <p>The size of Decoded Image Buffers D<sub>n</sub> or D<sub>n-1</sub> SHALL be the Normalized Decoded Image Buffer Size
+        (NDIBS).</p>
+
+        <p>Unless specified otherwise, the following table SHALL specify ICpy, Idec, and NDBIS.</p>
+
+        <table class='simple'>
+          <thead>
+            <tr>
+              <th>Parameter</th>
+
+              <th>Initial value</th>
+            </tr>
+          </thead>
+
+          <tbody>
+            <tr>
+              <td>Normalized image copy performance factor (ICpy)</td>
+
+              <td>6</td>
+            </tr>
+
+            <tr>
+              <td>Image Decoding rate (Idec)</td>
+
+              <td>1 × 2<sup>20</sup> pixels s<sup>-1</sup></td>
+            </tr>
+
+            <tr>
+              <td>Normalized Decoded Image Buffer Size (NDIBS)</td>
+
+              <td>0.9885</td>
+            </tr>
+          </tbody>
+        </table>
+      </section>
+
+      <section>
+        <h3>Paint Text</h3>
+
+        <p>For each glyph displayed in intermediate synchronic document E<sub>n</sub>, the Presentation Compositor SHALL:</p>
+
+        <ul>
+          <li>if an identical glyph is present in Glyph Buffer G<sub>n</sub>, copy the glyph from Glyph Buffer G<sub>n</sub> to the
+          Presentation Buffer P<sub>n</sub> using the Glyph Copier; or</li>
+
+          <li>if an identical glyph is present in Glyph Buffer G<sub>n-1</sub>, i.e. an identical glyph was present in intermediate
+          synchronic document E<sub>n-1</sub>, copy using the Glyph Copier the glyph from Glyph Buffer G<sub>n-1</sub> to both the
+          Glyph Buffer G<sub>n</sub> and the Presentation Buffer P<sub>n</sub>; or</li>
+
+          <li>Otherwise render using the Glyph Renderer the glyph into the Presentation Buffer P<sub>n</sub> and Glyph Buffer
+          G<sub>n</sub> using the corresponding style information.</li>
+        </ul>
+
+        <p>Two glyphs are identical if and only if the following [[!TTML2]] styles are identical:</p>
+
+        <ul>
+          <li><code>tts:color</code></li>
+
+          <li><code>tts:fontFamily</code></li>
+
+          <li><code>tts:fontSize</code></li>
+
+          <li><code>tts:fontStyle</code></li>
+
+          <li><code>tts:fontWeight</code></li>
+
+          <li><code>tts:textDecoration</code></li>
+
+          <li><code>tts:textOutline</code></li>
+        </ul>
+
+        <figure>
+          <img src="text-render-example-figure-2.png" alt="Example of Presentation Compositor Behavior for Text Rendering">
+
+          <figcaption>
+            Example of Presentation Compositor Behavior for Text Rendering
+          </figcaption>
+        </figure>
+
+        <p>The duration DUR<sub>T</sub>(E<sub>n</sub>) for painting the text of an intermediate synchronic document E<sub>n</sub>
+        in the Presentation Buffer is as follows:</p>
+
+        <p>DUR<sub>T</sub>(E<sub>n</sub>) = ∑<sub>G<sub>i</sub> ∈ G<sub>r</sub></sub> NRGA(G<sub>i</sub>) / Ren(G<sub>i</sub>) +
+        ∑<sub>G<sub>j</sub> ∈ G<sub>c</sub></sub> NRGA(G<sub>j</sub>) / GCpy</p>
+
+        <p>Where:</p>
+
+        <ul>
+          <li>G<sub>r</sub> is the set of glyphs rendered into the Presentation Buffer P<sub>n</sub> using the Glyph Renderer in
+          intermediate synchronic document E<sub>n</sub>.</li>
+
+          <li>G<sub>c</sub> is the set of glyphs copied to the Presentation Buffer P<sub>n</sub> using the Glyph Copier in
+          intermediate synchronic document E<sub>n</sub>.</li>
+
+          <li>Ren(G<sub>i</sub>) is the text rendering performance factor glyph G<sub>i</sub></li>
+
+          <li>GCpy is the normalized glyph copy performance factor</li>
+        </ul>
+
+        <p>G<sub>r</sub> and G<sub>c</sub> SHALL include only glyphs in presented regions and SHALL NOT include a [[!UNICODE]] Code
+        Point if it does not result in a change to presentation, e.g. the Code Point is ignored.</p>
+
+        <p>The Normalized Rendered Glyph Area NRGA(G<sub>i</sub>) of a glyph G<sub>i</sub> SHALL be equal to:</p>
+
+        <p>NRGA(G<sub>i</sub>)= (fontSize of G<sub>i</sub> as percentage of root container height)<sup>2</sup></p>
+
+        <p>The contents of the Glyph Buffer G<sub>n</sub> SHALL be copied instantaneously to Glyph Buffer G<sub>n-1</sub> at the
+        presentation time of intermediate synchronic document E<sub>n</sub>.</p>
+
+        <p>The total size occupied by the glyphs stored in Glyph Buffers G<sub>n</sub> or G<sub>n-1</sub> SHALL be the sum of their
+        Normalized Rendered Glyph Area.</p>
+
+        <p>The size of Glyph Buffers G<sub>n</sub> and G<sub>n-1</sub> SHALL be the Normalized Glyph Buffer Size (NGBS).</p>
+
+        <p>Unless specified otherwise, the following table SHALL specify GCpy, Ren and NGBS, and SHALL apply to all
+        supported font styles (including provision of outline border).</p>
+
+        <table class='simple'>
+          <thead>
+            <tr>
+              <th>Parameter</th>
+
+              <th>Initial value</th>
+            </tr>
+          </thead>
+
+          <tbody>
+            <tr>
+              <td>Normalized glyph copy performance factor (GCpy)</td>
+
+              <td>12</td>
+            </tr>
+
+            <tr>
+              <td>Text rendering performance factor Ren(G<sub>i</sub> if G<sub>i</sub> is not a CJK Unified Ideograph as specified
+              in [[!UNICODE]].</td>
+
+              <td>1.2</td>
+            </tr>
+
+            <tr>
+              <td>Text rendering performance factor Ren(G<sub>i</sub>) if G<sub>i</sub> is a CJK Unified Ideograph as specified in
+              [[!UNICODE]].</td>
+
+              <td>0.6</td>
+            </tr>
+
+            <tr>
+              <td>Normalized Glyph Buffer Size (NGBS)</td>
+
+              <td>1</td>
+            </tr>
+          </tbody>
+        </table>
+
+        <p class='note'>NRGA(G<sub>i</sub>) does not take into account glyph decorations (e.g. underline), glyph effects (e.g.
+        outline) or actual glyph aspect ratio. An implementation can determine an actual buffer size needs based on worst-case
+        glyph size complexity.</p>
+
+        <aside class='example'>
+          Setting a Glyph Buffer Normalized Size effectively sets a limit on the total number of distinct glyphs present in any
+          given intermediate synchronic document E<sub>n</sub>. For example, assuming a maximum Normalized Glyph Buffer Size of 1
+          and the default tts:fontSize of 1c are used, the glyph&#39;s height as percentage of root container height is 1/15 , and
+          the maximum number of distinct glyphs that can be buffered is 1÷(1÷15)^2=225 glyphs. In this example, an implementation
+          rendering at 1920x1080 would need to allocate a glyph buffer no smaller than (1920÷32)×(1080÷15)×225=~1 Mpixels.
+        </aside>
+
+        <aside class='example'>
+          GCpy effectively sets a limit on animating glyphs. For example, assuming that the root container is ultimately rendered
+          at 1920×1080 resolution and no regions need to have background color painted (so only a CLEAR(E<sub>n</sub>) operation is
+          required for the normalized drawing area for the intermediate synchronic document), a GCpy and BDraw of 12 s-1 would mean
+          that a group of 160 glyphs with a tts:fontSize equal to 5% of the root container height could be moved at most
+          approximately 12 s<sup>-1</sup> ÷ (1 + ( 160 × 0.05<sup>2</sup> )) = 8.6 times per second.
+        </aside>
+
+        <aside class='example'>
+          Ren(G<sub>i</sub>) effectively sets a limit on the glyph rendering rate. For example, assuming that the root container is
+          ultimately rendered at a 1920×1080 resolution, a Ren(G<sub>i</sub>) of 1.2 s-1 would mean that at most 120 glyphs with a
+          fontSize of 108 px (10% of 1080 px and NRGA(G<sub>i</sub>) = 0.01) could be rendered every second.
+        </aside>
+      </section>
+    </section>
+  </section>
+
+  <section class='appendix'>
+    <h2>Recommended Unicode Code Points per Language</h2>
+
+    <p>The following table lists common code points (see [[!UNICODE]]) definitions used in this Appendix:</p>
+
+    <table class='simple'>
+      <tr>
+        <th>(Basic Latin)</th>
+      </tr>
+
+      <tr>
+        <td>U+0020 - U+007E (Letterlike Symbols)</td>
+      </tr>
+
+      <tr>
+        <td>U+2103 : DEGREES CELSIUS</td>
+      </tr>
+
+      <tr>
+        <td>U+2109 : DEGREES FAHRENHEIT</td>
+      </tr>
+
+      <tr>
+        <td>U+2120 : SERVICE MARK SIGN</td>
+      </tr>
+
+      <tr>
+        <td>U+2122 : TRADE MARK SIGN</td>
+      </tr>
+
+      <tr>
+        <th>(Latin-1 Supplement)</th>
+      </tr>
+
+      <tr>
+        <td>U+00A0 - U+00FF (Number Forms)</td>
+      </tr>
+
+      <tr>
+        <td>U+2153 – U+215F : Fractions</td>
+      </tr>
+
+      <tr>
+        <th>(Latin Extended-A)</th>
+      </tr>
+
+      <tr>
+        <td>U+0152 : LATIN CAPITAL LIGATURE OE</td>
+      </tr>
+
+      <tr>
+        <td>U+0153 : LATIN SMALL LIGATURE OE</td>
+      </tr>
+
+      <tr>
+        <td>U+0160 : LATIN CAPITAL LETTER S WITH CARON</td>
+      </tr>
+
+      <tr>
+        <td>U+0161 : LATIN SMALL LETTER S WITH CARON</td>
+      </tr>
+
+      <tr>
+        <td>U+0178 : LATIN CAPITAL LETTER Y WITH DIAERESIS</td>
+      </tr>
+
+      <tr>
+        <td>U+017D : LATIN CAPITAL LETTER Z WITH CARON</td>
+      </tr>
+
+      <tr>
+        <td>U+017E : LATIN SMALL LETTER Z WITH CARON (Box Drawing)</td>
+      </tr>
+
+      <tr>
+        <td>U+2500 : BOX DRAWINGS LIGHT HORIZONTAL</td>
+      </tr>
+
+      <tr>
+        <td>U+2502 : BOX DRAWINGS LIGHT VERTICAL</td>
+      </tr>
+
+      <tr>
+        <td>U+250C : BOX DRAWINGS LIGHT DOWN AND RIGHT</td>
+      </tr>
+
+      <tr>
+        <td>U+2510 : BOX DRAWINGS LIGHT DOWN AND LEFT</td>
+      </tr>
+
+      <tr>
+        <td>U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT</td>
+      </tr>
+
+      <tr>
+        <td>U+2518 : BOX DRAWINGS LIGHT UP AND LEFT</td>
+      </tr>
+
+      <tr>
+        <th>(Latin Extended-B)</th>
+      </tr>
+
+      <tr>
+        <td>U+0192 : LATIN SMALL LETTER F WITH HOOK (Block Elements)</td>
+      </tr>
+
+      <tr>
+        <td>U+2588 : FULL BLOCK</td>
+      </tr>
+
+      <tr>
+        <th>(Spacing Modifier Letters)</th>
+      </tr>
+
+      <tr>
+        <td>U+02DC : SMALL TILDE (Geometric Shapes)</td>
+      </tr>
+
+      <tr>
+        <td>U+25A1 : WHITE SQUARE</td>
+      </tr>
+
+      <tr>
+        <th>(General Punctuation)</th>
+      </tr>
+
+      <tr>
+        <td>U+2010 - U+2015 : Dashes</td>
+      </tr>
+
+      <tr>
+        <td>U+2016 - U+2027 : General punctuation</td>
+      </tr>
+
+      <tr>
+        <td>U+2030 - U+203A : General punctuation (Musical Symbols)</td>
+      </tr>
+
+      <tr>
+        <td>U+2669 : QUARTER NOTE</td>
+      </tr>
+
+      <tr>
+        <td>U+266A : EIGHTH NOTE</td>
+      </tr>
+
+      <tr>
+        <td>U+266B : BEAMED EIGHTH NOTES</td>
+      </tr>
+
+      <tr>
+        <th>(Currency symbols)</th>
+      </tr>
+
+      <tr>
+        <td>U+20AC : EURO SIGN</td>
+      </tr>
+    </table>
+
+    <p>The following table specifies the [[!UNICODE]] code points that SHOULD be used in a document&#39;s textual content if
+    <code>xml:lang</code> is present (Primary language subtag is as defined in IETF RFC 5646).</p>
+
+    <table class='simple'>
+      <thead>
+        <tr>
+          <th>Languages</th>
+
+          <th>Primary language subtag of<br>
+          <code>xml:lang</code></th>
+
+          <th>[[!UNICODE]] Code Points</th>
+        </tr>
+      </thead>
+
+      <tbody>
+        <tr>
+          <th colspan="3">Albanian Languages</th>
+        </tr>
+
+        <tr>
+          <td>Albanian</td>
+
+          <td>&quot;sq&quot;</td>
+
+          <td>As defined in the table above</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Baltic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Latvian, Lithuanian</td>
+
+          <td>&quot;lv&quot;, &quot;lt&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Finnic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Finish</td>
+
+          <td>&quot;fi&quot;</td>
+
+          <td>As defined in the table above</td>
+        </tr>
+
+        <tr>
+          <td>Estonian</td>
+
+          <td>&quot;et&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Germanic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Danish, Dutch/Flemish, English, German, Icelandic, Norwegian, Swedish</td>
+
+          <td>&quot;da&quot;, &quot;nl&quot;, &quot;en&quot;, &quot;de&quot;, &quot;is&quot;, &quot;no&quot;, &quot;sv&quot;</td>
+		  
+		  <td>As defined in the table above.</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Greek Languages</th>
+        </tr>
+
+        <tr>
+          <td>Greek</td>
+
+          <td>&quot;el&quot;</td>
+
+          <td>As defined in the table above<br>
+          (Greek and Coptic)<br>
+          U+0386 : GREEK CAPITAL LETTER ALPHA WITH TONOS<br>
+          U+0387 : GREEK ANO TELEIA<br>
+          U+0388 – U+03CE : Letters</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Romanic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Catalan, French, Italian</td>
+
+          <td>&quot;ca&quot;, &quot;fr&quot;, &quot;it&quot;</td>
+
+          <td>As defined in the table above</td>
+        </tr>
+
+        <tr>
+          <td>Portuguese, Spanish</td>
+
+          <td>&quot;pt&quot;, &quot;es&quot;</td>
+
+          <td>(Currency symbols)<br>
+          U+20A1 : COLON SIGN<br>
+          U+20A2 : CRUZEIRO SIGN<br>
+          U+20B3 : AUSTRAL SIGN</td>
+        </tr>
+
+        <tr>
+          <td>Romanian</td>
+
+          <td>&quot;ro&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Semitic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Arabic</td>
+
+          <td>&quot;ar&quot;</td>
+
+          <td>As defined in the table above<br>
+          U+060C – U+060D : Punctuation<br>
+          U+061B : ARABIC SEMICOLON<br>
+          U+061E : ARABIC TRIPLE DOT PUNCTUATION MARK<br>
+          U+061F : ARABIC QUESTION MARK<br>
+          U+0621 – U+063A : Based on ISO 8859-6<br>
+          U+0640 – U+064A : Based on ISO 8859-6<br>
+          U+064B – U+0652 : Points from ISO 5559-6<br>
+          U+0660 – U+0669 : Arabic-Indic digits<br>
+          U+066A – U+066D : Punctuation</td>
+        </tr>
+
+        <tr>
+          <td>Hebrew</td>
+
+          <td>&quot;he&quot;</td>
+
+          <td>As defined in the table above<br>
+          (Hebrew)<br>
+          U+05B0 – U+05C3 : Points and punctuation<br>
+          U+05D0 – U+05EA : Based on ISO 8859-8<br>
+          U+05F3 – U+05F4 : Additional punctuation</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Slavic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Croatian, Czech, Polish, Slovenian, Slovak</td>
+
+          <td>&quot;hr&quot;, &quot;cs&quot;, &quot;pl&quot;, &quot;sl&quot;, &quot;sk&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+
+        <tr>
+          <td>Bosnian, Bulgarian, Macedonian, Russian, Serbian, Ukrainian</td>
+
+          <td>&quot;bs&quot;, &quot;bg&quot;, &quot;mk&quot;, &quot;ru&quot;, &quot;sr&quot;, &quot;uk&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F<br>
+          (Cyrillic)<br>
+          U+0400 – U+040F : Cyrillic extensions<br>
+          U+0410 – U+044F : Basic Russian alphabet<br>
+          U+0450 – U+045F : Cyrillic extensions</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Turkic Languages</th>
+        </tr>
+
+        <tr>
+          <td>Turkish</td>
+
+          <td>&quot;tr&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+
+        <tr>
+          <td>Kazakh</td>
+
+          <td>&quot;kk&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F<br>
+          (Cyrillic)<br>
+          U+0400 – U+040F : Cyrillic extensions<br>
+          U+0410 – U+044F : Basic Russian alphabet<br>
+          U+0450 – U+045F : Cyrillic extensions</td>
+        </tr>
+
+        <tr>
+          <th colspan="3">Ugric Languages</th>
+        </tr>
+
+        <tr>
+          <td>Hungarian</td>
+
+          <td>&quot;hu&quot;</td>
+
+          <td>As defined in the table above, except for &quot;(Latin Extended-A)&quot; which is re-defined below<br>
+          (Latin Extended-A)<br>
+          U+0100 - U+017F</td>
+        </tr>
+      </tbody>
+    </table>
+  </section>
+
+  <section class='appendix informative'>
+    <h2>Typical Practice for Subtitles per Region (Informative)</h2>
+
+    <p>The following table summarizes subtitle languages commonly used in the listed regions. The Language Tag is as specified in
+    RFC 5646.</p>
+
+    <table class='simple'>
+      <tr>
+        <th>Region</th>
+
+        <th>Subtitle Languages (Language Tag)</th>
+      </tr>
+
+      <tbody>
+        <tr>
+          <td>ALL (worldwide)</td>
+
+          <td>English (&quot;en&quot;)</td>
+        </tr>
+
+        <tr>
+          <th colspan="2">America (North)</th>
+        </tr>
+
+        <tr>
+          <td>ALL</td>
+
+          <td>French (&quot;fr&quot;) [Québécois (&quot;fr-CA&quot;) or Parisian (&quot;fr-FR&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>United States</td>
+
+          <td>Spanish (&quot;es&quot;) [Latin American (&quot;es-419&quot;)]</td>
+        </tr>
+
+        <tr>
+          <th colspan="2">America (Central and South)</th>
+        </tr>
+
+        <tr>
+          <td>ALL</td>
+
+          <td>Spanish (&quot;es&quot;) [Latin American (&quot;es-419&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>Brazil</td>
+
+          <td>Portuguese (&quot;pt&quot;) [Brazilian (&quot;pt-BR&quot;)]</td>
+        </tr>
+
+        <tr>
+          <th colspan="2">Asia, Middle East, and Africa</th>
+        </tr>
+
+        <tr>
+          <td>China</td>
+
+          <td>Chinese (&quot;zh&quot;) [Simplified Mandarin (&quot;zh-cmn-Hans&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>Egypt</td>
+
+          <td>Arabic (&quot;ar&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Hong Kong</td>
+
+          <td>Chinese (&quot;zh&quot;) [Cantonese (&quot;zh-yue&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>India</td>
+
+          <td>Hindi (&quot;hi&quot;)<br>
+          Tamil (&quot;ta&quot;)<br>
+          Telugu (&quot;te&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Indonesia</td>
+
+          <td>Indonesian (&quot;id&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Israel</td>
+
+          <td>Hebrew (&quot;he&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Japan</td>
+
+          <td>Japanese (&quot;ja&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Kazakhstan</td>
+
+          <td>Kazakh (&quot;kk&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Malaysia</td>
+
+          <td>Standard Malay (&quot;zsm&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>South Korea</td>
+
+          <td>Korean (&quot;ko&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Taiwan</td>
+
+          <td>Chinese (&quot;zh&quot;) [Traditional Mandarin (&quot;zh-cmn-Hant&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>Thailand</td>
+
+          <td>Thai (&quot;th&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Vietnam</td>
+
+          <td>Vietnamese (&quot;vi&quot;)</td>
+        </tr>
+
+        <tr>
+          <th colspan="2">Europe</th>
+        </tr>
+
+        <tr>
+          <td>Benelux (Belgium, Netherlands, and Luxembourg)</td>
+
+          <td>French (&quot;fr&quot;) [Parisian (&quot;fr-FR&quot;)]<br>
+          Dutch/Flemish (&quot;nl&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Denmark</td>
+
+          <td>Danish (&quot;da&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Finland</td>
+
+          <td>Finnish (&quot;fi&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>France</td>
+
+          <td>French (&quot;fr&quot;) [Parisian (&quot;fr-FR&quot;)]<br>
+          Arabic (&quot;ar&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Germany</td>
+
+          <td>German (&quot;de&quot;)<br>
+          Turkish (&quot;tr&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Italy</td>
+
+          <td>Italian (&quot;it&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Norway</td>
+
+          <td>Norwegian (&quot;no&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Spain</td>
+
+          <td>Spanish (&quot;sp&quot;) [Castilian (&quot;sp-ES&quot;)]<br>
+          Catalan (&quot;ca&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Sweden</td>
+
+          <td>Swedish (&quot;sv&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Switzerland</td>
+
+          <td>French (&quot;fr&quot;) [&quot;fr-CH&quot; or &quot;fr-FR&quot;]<br>
+          German (&quot;de&quot;) [&quot;de-CH&quot;]<br>
+          Italian (&quot;it&quot;) [&quot;it-CH&quot;]</td>
+        </tr>
+
+        <tr>
+          <td>Albania</td>
+
+          <td>Albanian (&quot;sq&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Bulgaria</td>
+
+          <td>Bulgarian (&quot;bg&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Croatia</td>
+
+          <td>Croatian (&quot;hr&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Czech Republic</td>
+
+          <td>Czech (&quot;cs&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Estonia</td>
+
+          <td>Estonian (&quot;et&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Greece</td>
+
+          <td>Greek (&quot;el&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Hungary</td>
+
+          <td>Hungarian (&quot;hu&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Iceland</td>
+
+          <td>Icelandic (&quot;is&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Latvia</td>
+
+          <td>Latvian (&quot;lv&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Lithuania</td>
+
+          <td>Lithuanian (&quot;lt&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Macedonia</td>
+
+          <td>Macedonian (&quot;mk&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Poland</td>
+
+          <td>Polish (&quot;pl&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Portugal</td>
+
+          <td>Portuguese (&quot;pt&quot;) [Iberian (&quot;pt-PT&quot;)]</td>
+        </tr>
+
+        <tr>
+          <td>Romania</td>
+
+          <td>Romanian (&quot;ro&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Russia</td>
+
+          <td>Russian (&quot;ru&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Serbia</td>
+
+          <td>Serbian (&quot;sr&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Slovakia</td>
+
+          <td>Slovak (&quot;sk&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Slovenia</td>
+
+          <td>Slovenian (&quot;sl&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Turkey</td>
+
+          <td>Turkish (&quot;tr&quot;)</td>
+        </tr>
+
+        <tr>
+          <td>Ukraine</td>
+
+          <td>Ukrainian (&quot;uk&quot;)</td>
+        </tr>
+      </tbody>
+    </table>
+  </section>
+
+  <section class='appendix'>
+    <h2>Schema</h2>
+	<p><em>TBD</em></p>
+  </section>
+</body>
+</html>