Commits

Anonymous committed 50111ee

regen

Comments (0)

Files changed (8)

friendpaste/settings.py

 
 import os
 
-DEBUG = True
+DEBUG = False
 
 SITE_URI='http://www.friendpaste.com'
 

static/css/screen.css

 #actions ul {list-style:none;}
 #actions form li label {font-weight:normal;font-size:1em;}
 #info {font-size:0.9em;font-weight:bold;}
+#snippet_actions input {font-size:0.9em;line-height:1em;}
+#snippet_actions h4 {font-size:1.1em;font-weight:bold;}
+#snippet_actions li a,#snippet_actions p,#snippet_actions form {font-size:0.9em;}
 #dl {text-align:center;font-size:0.9em;}
+label#paste_code {font-weight:bold;}
 .highlight {font-family:sans-serif;}
+.tip {font-size:0.8em;}
 h2 a.root {text-decoration:none;font-size:85%;}
 table.sourcetable td {font-size:1.1em;}
 .linenos,.line-number {font-weight:bold;}
 .line-number {font-size:1em;}
-td.line-content {font-family:Monaco, "Bitstream Vera Sans Mono", "Courrier New", Courrier, monospace;}
+td.line-content {font-family:"Courrier New", Courrier, monospace;}
 table.difftabular th {text-align:center;}
 table.difftabular th.linenos {text-align:center;}
 del, ins {text-decoration:none;}
 #main_nav li {float:left;}
 .content-wrapper {background:transparent url(../images/home-back.png) no-repeat 100px 0pt;width:100%;margin:0;padding:0;height:100%;}
 #claim {padding-left:20px;}
-#snippet_edit,#snippet_view,#revisions,#new_snippet,#claim_snippet {padding:40px 0 25px 0;}
+#snippet_edit,#snippet_view,#revisions,#new_snippet,#s_snippet_actions {padding:40px 0 25px 0;}
 section.hidden,.hidden {display:none;}
 form, #snippet {width:90%;margin:0pt auto;}
 #snippet {display:block;padding-left:40px;}
 form li {padding:5px 0;margin:0;}
 form li * {vertical-align:middle;}
 form label {display:block;width:14em;height:12px;float:left;padding:0 1em 3px 0;}
-input[type='text'], select {width:174px;border:1px solid;margin:0;}
+input[type='text'], input[type='password'],select {width:174px;border:1px solid;margin:0;}
 textarea {width:99%;border:1px solid;height:300px;z-index:0;}
 .wed {width:99%;height:450px;}
 .wed iframe {width:100%;}
 #actions li {display:inline;margin-left:10px;border-left:1px solid;overflow:hidden;clear:none;padding-left:10px;}
 #actions li.first {border:0;}
 #actions form li label {display:inline;width:auto;float:none;}
-#info {border:1px solid;padding:0.5em 0.3em 0.5em 0.3em;}
+#info {width:99%;clear:both;border:1px solid;padding:0.5em 0.3em 0.5em 0.3em;}
 #info table {width:auto;padding:0;margin:10px 0;}
 #info th {padding:0;}
 #dl {clear:both;width:100%;margin-top:10px;font-size:0.9em;}
+.tip {margin-top:20px;}
+form.embed {margin:0;}
+form.embed table th {font-weight:bold;}
+form.embed table td {padding-left:0.3em;}
+form.embed label {margin:0;padding:0;}
+form.embed label {width:auto;}
+form.embed input {font-size:80%;width:320px;}
 .highlight {border:1px solid;background-repeat:repeat;}
 #paste_wrapper,#diff {clear:both;width:100%;margin-top:10px;}
 #diff {position:relative;}
 tr.base .last {border-bottom:1px solid;}
 .btop {border-top:1px solid;}
 #bottoma {position:relative;width:100%;clear:both;padding:15pt 0;}
-#bottom form {width:auto;margin:0pt;}
+#bottom form {width:auto;margin:0;padding:0;}
 #bottoma ul {list-style:none;}
-#bottoma li {display:block;float:left;width:100px;margin-right:10px;padding:0;}
+#bottoma li {display:block;float:left;width:100px;margin-right:5px;padding:0;}
 #revisions,#claim_snippet {position:relative;width:90%;margin:0pt auto;}
 table.revisionstable {position:relative;width:600px;margin:0pt 0pt 45px 0pt;padding:0;border:1px solid;}
 table.revisionstable td {margin-left:20px;}
 td.since {font-style:italic;}
 #revisions h2 {margin-bottom:15px;}
 #revisions h3, div.txt h2 {margin:15px 0 15px 0;padding:0.1em;}
+#snippet_title {display:block;position:relative;width:100%;}
+#snippet_title h2 {width:300px;float:left;}
+#snippet_title #snippet_actions {float:right;display:block;width:420px;height:2em;line-height:2em;vertical-align:middle;}
+#snippet_actions ul {float:right;}
+#snippet_actions li {float:left;display:block;margin-left:5px;background:#303030;padding:0.2em;line-height:1.2em;border:1px solid;}
+#snippet_actions li a {color:#fff;text-decoration:none;margin:0;padding:0;}
+#snippet_actions li.disabled {display:none;}
+#snippet_actions form {display:block;width:350px;float:left;}
+#snippet_actions label {margin:0;padding:0.3em;width:auto;}
+#snippet_actions h4 {border-bottom:1px solid;margin-bottom:0.3em;margin-left:0.3em;}
+#snippet_actions p {color:#fff;padding:0.3em;}
 table.claimTable {margin-top:10px;margin-bottom:10px;}
 div.txt {width:90%;padding:15px 0;margin:0pt auto;}
 div.txt h3 {margin:15px 0 10px 0;padding:0.1em;}
 div.txt pre {border:1px solid;padding:0.3em;}
 div.txt pre.wrap {width:99%;}
 li.errors {padding:0.3em;border:1px solid;}
-ul.errors {padding:0.3em;border:1px solid;margin-bottom:15px;}
+p.errors,ul.errors {padding:0.3em;border:1px solid;margin-bottom:15px;}
 #switch span {display:block;cursor:pointer;padding:0 0.5em 0 0.5em;float:left;}
 #switch {clear:both;margin-bottom:5px;margin-top:10px;width:auto;float:right;}
 #switch span {cursor:pointer;}
 p.copyright span.brand {float:left;width:400px;}
 p.copyright span.powered {float:right;width:auto;position:relative;}
 div.grippie {background:#E9E9E9 url(../images/resize2.gif) no-repeat scroll 50% 50%;min-height:3px;height:3px;cursor:row-resize;width:99%;}
-form.embed {margin:0;}
-form.embed table th {font-weight:bold;}
-form.embed table td {padding-left:0.3em;}
-form.embed label {margin:0;padding:0;}
-form.embed label {width:auto;}
-form.embed input {font-size:80%;width:320px;}
 body {background-color:#e5f1f4;color:#000;}
 h1, h2, h3, h4, h5, h6 {color:#111;}
 a:link {color:#2e8696;}
 #main_nav li {background-color:#899834;}
 #site_header a:link, #site_header a:visited {color:#fff;}
 form label {color:#333;}
-input[type='text'], select {border-color:#949494;}
+input[type='text'], input[type='password'],select {border-color:#949494;}
 textarea {width:99%;border:#949494;}
 input[type='submit'], input[type='reset'], input[type='button'], button {background:#303030;color:#ccc;border-color:#899834;}
 #actions li {border-left-color:#666;}
 #info th {background:#f7f7f0;}
 #dl {color:#303030;}
 #dl a {color:#666;}
+#snippet_actions li {border-color:#899834;}
+#snippet_actions label {color:#fff;}
+#snippet_actions h4 {color:#899834;border-bottom-color:#899834;}
 #lines {background:#f8f8f8;}
 .highlight {border-color:#899834;}
 .linenos {border-right-color:#899834;color:#666;}

static/js/friendpaste-libs.js

+var base2={name:"base2",version:"1.0",exports:"Base,Package,Abstract,Module,Enumerable,Map,Collection,RegGrp,Undefined,Null,This,True,False,assignID,detect,global",namespace:""};new function(_no_shrink_){var Undefined=K(),Null=K(null),True=K(true),False=K(false),This=function(){return this};var global=This();var base2=global.base2;var _FORMAT=/%([1-9])/g;var _LTRIM=/^\s\s*/;var _RTRIM=/\s\s*$/;var _RESCAPE=/([\/()[\]{}|*+-.,^$?\\])/g;var _BASE=/try/.test(detect)?/\bbase\b/:/.*/;var _HIDDEN=["constructor","toString","valueOf"];var _MSIE_NATIVE_FUNCTION=detect("(jscript)")?new RegExp("^"+rescape(isNaN).replace(/isNaN/,"\\w+")+"$"):{test:False};var _counter=1;var _slice=Array.prototype.slice;_Function_forEach();function assignID(object){if(!object.base2ID){object.base2ID="b2_"+_counter++}return object.base2ID}var _subclass=function(_instance,_static){base2.__prototyping=this.prototype;var _prototype=new this;if(_instance){extend(_prototype,_instance)}delete base2.__prototyping;var _constructor=_prototype.constructor;function _class(){if(!base2.__prototyping){if(this.constructor==arguments.callee||this.__constructing){this.__constructing=true;_constructor.apply(this,arguments);delete this.__constructing}else{return extend(arguments[0],_prototype)}}return this}_prototype.constructor=_class;for(var i in Base){_class[i]=this[i]}_class.ancestor=this;_class.base=Undefined;if(_static){extend(_class,_static)}_class.prototype=_prototype;if(_class.init){_class.init()}_class["#implements"]=[];_class["#implemented_by"]=[];return _class};var Base=_subclass.call(Object,{constructor:function(){if(arguments.length>0){this.extend(arguments[0])}},base:function(){},extend:delegate(extend)},Base={ancestorOf:function(klass){return _ancestorOf(this,klass)},extend:_subclass,forEach:function(object,block,context){_Function_forEach(this,object,block,context)},implement:function(source){if(typeof source=="function"){if(_ancestorOf(Base,source)){this["#implements"].push(source);source["#implemented_by"].push(this)}source=source.prototype}extend(this.prototype,source);return this}});var Package=Base.extend({constructor:function(_private,_public){this.extend(_public);if(this.init){this.init()}if(this.name&&this.name!="base2"){if(!this.parent){this.parent=base2}this.parent.addName(this.name,this);this.namespace=format("var %1=%2;",this.name,String2.slice(this,1,-1))}if(_private){var JSNamespace=base2.JavaScript?base2.JavaScript.namespace:"";_private.imports=Array2.reduce(csv(this.imports),function(namespace,name){var ns=lookup(name)||lookup("JavaScript."+name);assert(ns,format("Object not found: '%1'.",name),ReferenceError);return namespace+=ns.namespace},"var base2=(function(){return this.base2})();"+base2.namespace+JSNamespace)+lang.namespace;_private.exports=Array2.reduce(csv(this.exports),function(namespace,name){var fullName=this.name+"."+name;this.namespace+="var "+name+"="+fullName+";";return namespace+="if(!"+fullName+")"+fullName+"="+name+";"},"",this)+"this._label_"+this.name+"();";var pkg=this;var packageName=String2.slice(this,1,-1);_private["_label_"+this.name]=function(){Package.forEach(pkg,function(object,name){if(object&&object.ancestorOf==Base.ancestorOf){object.toString=K(format("[%1.%2]",packageName,name));if(object.prototype.toString==Base.prototype.toString){object.prototype.toString=K(format("[object %1.%2]",packageName,name))}}})}}function lookup(names){names=names.split(".");var value=base2,i=0;while(value&&names[i]!=null){value=value[names[i++]]}return value}},exports:"",imports:"",name:"",namespace:"",parent:null,addName:function(name,value){if(!this[name]){this[name]=value;this.exports+=","+name;this.namespace+=format("var %1=%2.%1;",name,this.name)}},addPackage:function(name){this.addName(name,new Package(null,{name:name,parent:this}))},toString:function(){return format("[%1]",this.parent?String2.slice(this.parent,1,-1)+"."+this.name:this.name)}});var Abstract=Base.extend({constructor:function(){throw new TypeError("Abstract class cannot be instantiated.")}});var _moduleCount=0;var Module=Abstract.extend(null,{namespace:"",extend:function(_interface,_static){var module=this.base();var index=_moduleCount++;module.namespace="";module.partial=this.partial;module.toString=K("[base2.Module["+index+"]]");Module[index]=module;module.implement(this);if(_interface){module.implement(_interface)}if(_static){extend(module,_static);if(module.init){module.init()}}return module},forEach:function(block,context){_Function_forEach(Module,this.prototype,function(method,name){if(typeOf(method)=="function"){block.call(context,this[name],name,this)}},this)},implement:function(_interface){var module=this;var id=module.toString().slice(1,-1);if(typeof _interface=="function"){if(!_ancestorOf(_interface,module)){this.base(_interface)}if(_ancestorOf(Module,_interface)){for(var name in _interface){if(module[name]===undefined){var property=_interface[name];if(typeof property=="function"&&property.call&&_interface.prototype[name]){property=_staticModuleMethod(_interface,name)}module[name]=property}}module.namespace+=_interface.namespace.replace(/base2\.Module\[\d+\]/g,id)}}else{extend(module,_interface);_extendModule(module,_interface)}return module},partial:function(){var module=Module.extend();var id=module.toString().slice(1,-1);module.namespace=this.namespace.replace(/(\w+)=b[^\)]+\)/g,"$1="+id+".$1");this.forEach(function(method,name){module[name]=partial(bind(method,module))});return module}});function _extendModule(module,_interface){var proto=module.prototype;var id=module.toString().slice(1,-1);for(var name in _interface){var property=_interface[name],namespace="";if(name.charAt(0)=="@"){if(detect(name.slice(1))){_extendModule(module,property)}}else{if(!proto[name]){if(name==name.toUpperCase()){namespace="var "+name+"="+id+"."+name+";"}else{if(typeof property=="function"&&property.call){namespace="var "+name+"=base2.lang.bind('"+name+"',"+id+");";proto[name]=_moduleMethod(module,name);proto[name]._module=module}}if(module.namespace.indexOf(namespace)==-1){module.namespace+=namespace}}}}}function _staticModuleMethod(module,name){return function(){return module[name].apply(module,arguments)}}function _moduleMethod(module,name){return function(){var args=_slice.call(arguments);args.unshift(this);return module[name].apply(module,args)}}var Enumerable=Module.extend({every:function(object,test,context){var result=true;try{forEach(object,function(value,key){result=test.call(context,value,key,object);if(!result){throw StopIteration}})}catch(error){if(error!=StopIteration){throw error}}return !!result},filter:function(object,test,context){var i=0;return this.reduce(object,function(result,value,key){if(test.call(context,value,key,object)){result[i++]=value}return result},[])},invoke:function(object,method){var args=_slice.call(arguments,2);return this.map(object,(typeof method=="function")?function(item){return item==null?undefined:method.apply(item,args)}:function(item){return item==null?undefined:item[method].apply(item,args)})},map:function(object,block,context){var result=[],i=0;forEach(object,function(value,key){result[i++]=block.call(context,value,key,object)});return result},pluck:function(object,key){return this.map(object,function(item){return item==null?undefined:item[key]})},reduce:function(object,block,result,context){var initialised=arguments.length>2;forEach(object,function(value,key){if(initialised){result=block.call(context,result,value,key,object)}else{result=value;initialised=true}});return result},some:function(object,test,context){return !this.every(object,not(test),context)}});var _HASH="#";var Map=Base.extend({constructor:function(values){if(values){this.merge(values)}},clear:function(){for(var key in this){if(key.indexOf(_HASH)==0){delete this[key]}}},copy:function(){base2.__prototyping=true;var copy=new this.constructor;delete base2.__prototyping;for(var i in this){if(this[i]!==copy[i]){copy[i]=this[i]}}return copy},forEach:function(block,context){for(var key in this){if(key.indexOf(_HASH)==0){block.call(context,this[key],key.slice(1),this)}}},get:function(key){return this[_HASH+key]},getKeys:function(){return this.map(II)},getValues:function(){return this.map(I)},has:function(key){
+/*@cc_on @*/
+/*@if (@_jscript_version < 5.5)
+    return $Legacy.has(this, _HASH + key);
+  @else @*/
+return _HASH+key in this;
+/*@end @*/
+},merge:function(values){var put=flip(this.put);forEach(arguments,function(values){forEach(values,put,this)},this);return this},put:function(key,value){this[_HASH+key]=value},remove:function(key){delete this[_HASH+key]},size:function(){var size=0;for(var key in this){if(key.indexOf(_HASH)==0){size++}}return size},union:function(values){return this.merge.apply(this.copy(),arguments)}});Map.implement(Enumerable);Map.prototype.filter=function(test,context){return this.reduce(function(result,value,key){if(!test.call(context,value,key,this)){result.remove(key)}return result},this.copy(),this)};var _KEYS="~";var Collection=Map.extend({constructor:function(values){this[_KEYS]=new Array2;this.base(values)},add:function(key,item){assert(!this.has(key),"Duplicate key '"+key+"'.");this.put.apply(this,arguments)},clear:function(){this.base();this[_KEYS].length=0},copy:function(){var copy=this.base();copy[_KEYS]=this[_KEYS].copy();return copy},forEach:function(block,context){var keys=this[_KEYS];var length=keys.length;for(var i=0;i<length;i++){block.call(context,this[_HASH+keys[i]],keys[i],this)}},getAt:function(index){var key=this[_KEYS].item(index);return(key===undefined)?undefined:this[_HASH+key]},getKeys:function(){return this[_KEYS].copy()},indexOf:function(key){return this[_KEYS].indexOf(String(key))},insertAt:function(index,key,item){assert(this[_KEYS].item(index)!==undefined,"Index out of bounds.");assert(!this.has(key),"Duplicate key '"+key+"'.");this[_KEYS].insertAt(index,String(key));this[_HASH+key]=null;this.put.apply(this,_slice.call(arguments,1))},item:function(keyOrIndex){return this[typeof keyOrIndex=="number"?"getAt":"get"](keyOrIndex)},put:function(key,item){if(!this.has(key)){this[_KEYS].push(String(key))}var klass=this.constructor;if(klass.Item&&!instanceOf(item,klass.Item)){item=klass.create.apply(klass,arguments)}this[_HASH+key]=item},putAt:function(index,item){arguments[0]=this[_KEYS].item(index);assert(arguments[0]!==undefined,"Index out of bounds.");this.put.apply(this,arguments)},remove:function(key){if(this.has(key)){this[_KEYS].remove(String(key));delete this[_HASH+key]}},removeAt:function(index){var key=this[_KEYS].item(index);if(key!==undefined){this[_KEYS].removeAt(index);delete this[_HASH+key]}},reverse:function(){this[_KEYS].reverse();return this},size:function(){return this[_KEYS].length},slice:function(start,end){var sliced=this.copy();if(arguments.length>0){var keys=this[_KEYS],removed=keys;sliced[_KEYS]=Array2(_slice.apply(keys,arguments));if(sliced[_KEYS].length){removed=removed.slice(0,start);if(arguments.length>1){removed=removed.concat(keys.slice(end))}}for(var i=0;i<removed.length;i++){delete sliced[_HASH+removed[i]]}}return sliced},sort:function(compare){if(compare){this[_KEYS].sort(bind(function(key1,key2){return compare(this[_HASH+key1],this[_HASH+key2],key1,key2)},this))}else{this[_KEYS].sort()}return this},toString:function(){return"("+(this[_KEYS]||"")+")"}},{Item:null,create:function(key,item){return this.Item?new this.Item(key,item):item},extend:function(_instance,_static){var klass=this.base(_instance);klass.create=this.create;if(_static){extend(klass,_static)}if(!klass.Item){klass.Item=this.Item}else{if(typeof klass.Item!="function"){klass.Item=(this.Item||Base).extend(klass.Item)}}if(klass.init){klass.init()}return klass}});var _RG_BACK_REF=/\\(\d+)/g,_RG_ESCAPE_CHARS=/\\./g,_RG_ESCAPE_BRACKETS=/\(\?[:=!]|\[[^\]]+\]/g,_RG_BRACKETS=/\(/g,_RG_LOOKUP=/\$(\d+)/,_RG_LOOKUP_SIMPLE=/^\$\d+$/;var RegGrp=Collection.extend({constructor:function(values,ignoreCase){this.base(values);this.ignoreCase=!!ignoreCase},ignoreCase:false,exec:function(string,override){string+="";var items=this,keys=this[_KEYS];if(!keys.length){return string}if(override==RegGrp.IGNORE){override=0}return string.replace(new RegExp(this,this.ignoreCase?"gi":"g"),function(match){var item,offset=1,i=0;while((item=items[_HASH+keys[i++]])){var next=offset+item.length+1;if(arguments[offset]){var replacement=override==null?item.replacement:override;switch(typeof replacement){case"function":return replacement.apply(items,_slice.call(arguments,offset,next));case"number":return arguments[offset+replacement];default:return replacement}}offset=next}return match})},insertAt:function(index,expression,replacement){if(instanceOf(expression,RegExp)){arguments[1]=expression.source}return base(this,arguments)},test:function(string){return this.exec(string)!=string},toString:function(){var offset=1;return"("+this.map(function(item){var expression=(item+"").replace(_RG_BACK_REF,function(match,index){return"\\"+(offset+Number(index))});offset+=item.length+1;return expression}).join(")|(")+")"}},{IGNORE:"$0",init:function(){forEach("add,get,has,put,remove".split(","),function(name){_override(this,name,function(expression){if(instanceOf(expression,RegExp)){arguments[0]=expression.source}return base(this,arguments)})},this.prototype)},Item:{constructor:function(expression,replacement){if(replacement==null){replacement=RegGrp.IGNORE}else{if(replacement.replacement!=null){replacement=replacement.replacement}else{if(typeof replacement!="function"){replacement=String(replacement)}}}if(typeof replacement=="string"&&_RG_LOOKUP.test(replacement)){if(_RG_LOOKUP_SIMPLE.test(replacement)){replacement=parseInt(replacement.slice(1))}else{var Q='"';replacement=replacement.replace(/\\/g,"\\\\").replace(/"/g,"\\x22").replace(/\n/g,"\\n").replace(/\r/g,"\\r").replace(/\$(\d+)/g,Q+"+(arguments[$1]||"+Q+Q+")+"+Q).replace(/(['"])\1\+(.*)\+\1\1$/,"$1");replacement=new Function("return "+Q+replacement+Q)}}this.length=RegGrp.count(expression);this.replacement=replacement;this.toString=K(expression+"")},length:0,replacement:""},count:function(expression){expression=(expression+"").replace(_RG_ESCAPE_CHARS,"").replace(_RG_ESCAPE_BRACKETS,"");return match(expression,_RG_BRACKETS).length}});var lang={name:"lang",version:base2.version,exports:"assert,assertArity,assertType,base,bind,copy,extend,forEach,format,instanceOf,match,pcopy,rescape,trim,typeOf",namespace:""};function assert(condition,message,ErrorClass){if(!condition){throw new (ErrorClass||Error)(message||"Assertion failed.")}}function assertArity(args,arity,message){if(arity==null){arity=args.callee.length}if(args.length<arity){throw new SyntaxError(message||"Not enough arguments.")}}function assertType(object,type,message){if(type&&(typeof type=="function"?!instanceOf(object,type):typeOf(object)!=type)){throw new TypeError(message||"Invalid type.")}}function copy(object){var copy={};for(var i in object){copy[i]=object[i]}return copy}function pcopy(object){_dummy.prototype=object;return new _dummy}function _dummy(){}function base(object,args){return object.base.apply(object,args)}function extend(object,source){if(object&&source){if(arguments.length>2){var key=source;source={};source[key]=arguments[2]}var proto=global[(typeof source=="function"?"Function":"Object")].prototype;if(base2.__prototyping){var i=_HIDDEN.length,key;while((key=_HIDDEN[--i])){var value=source[key];if(value!=proto[key]){if(_BASE.test(value)){_override(object,key,value)}else{object[key]=value}}}}for(key in source){if(proto[key]===undefined){var value=source[key];if(key.charAt(0)=="@"){if(detect(key.slice(1))){extend(object,value)}}else{var ancestor=object[key];if(ancestor&&typeof value=="function"){if(value!=ancestor){if(_BASE.test(value)){_override(object,key,value)}else{value.ancestor=ancestor;object[key]=value}}}else{object[key]=value}}}}}return object}function _ancestorOf(ancestor,fn){while(fn){if(!fn.ancestor){return false}fn=fn.ancestor;if(fn==ancestor){return true}}return false}function _override(object,name,method){var ancestor=object[name];var superObject=base2.__prototyping;if(superObject&&ancestor!=superObject[name]){superObject=null}function _base(){var previous=this.base;this.base=superObject?superObject[name]:ancestor;var returnValue=method.apply(this,arguments);this.base=previous;return returnValue}_base.method=method;_base.ancestor=ancestor;object[name]=_base;_base.toString=K(method+"")}if(typeof StopIteration=="undefined"){StopIteration=new Error("StopIteration")}function forEach(object,block,context,fn){if(object==null){return}if(!fn){if(typeof object=="function"&&object.call){fn=Function}else{if(typeof object.forEach=="function"&&object.forEach!=arguments.callee){object.forEach(block,context);return}else{if(typeof object.length=="number"){_Array_forEach(object,block,context);return}}}}_Function_forEach(fn||Object,object,block,context)}forEach.csv=function(string,block,context){forEach(csv(string),block,context)};forEach.detect=function(object,block,context){forEach(object,function(value,key){if(key.charAt(0)=="@"){if(detect(key.slice(1))){forEach(value,arguments.callee)}}else{block.call(context,value,key,object)}})};function _Array_forEach(array,block,context){if(array==null){array=global}var length=array.length||0,i;if(typeof array=="string"){for(i=0;i<length;i++){block.call(context,array.charAt(i),i,array)}}else{for(i=0;i<length;i++){
+/*@cc_on @*/
+/*@if (@_jscript_version < 5.2)
+      if ($Legacy.has(array, i))
+    @else @*/
+if(i in array){
+/*@end @*/
+block.call(context,array[i],i,array)}}}}function _Function_forEach(fn,object,block,context){var Temp=function(){this.i=1};Temp.prototype={i:1};var count=0;for(var i in new Temp){count++}_Function_forEach=(count>1)?function(fn,object,block,context){var processed={};for(var key in object){if(!processed[key]&&fn.prototype[key]===undefined){processed[key]=true;block.call(context,object[key],key,object)}}}:function(fn,object,block,context){for(var key in object){if(fn.prototype[key]===undefined){block.call(context,object[key],key,object)}}};_Function_forEach(fn,object,block,context)}function instanceOf(object,klass){if(typeof klass!="function"){throw new TypeError("Invalid 'instanceOf' operand.")}if(object==null){return false;
+/*@cc_on  
+  // COM objects don't have a constructor
+  if (typeof object.constructor != "function") {
+    return typeOf(object) == typeof klass.prototype.valueOf();
+  }
+  @*/
+}if(object.constructor==klass){return true}if(klass.ancestorOf){return klass.ancestorOf(object.constructor);
+/*@if (@_jscript_version < 5.1)
+    // do nothing
+  @else @*/
+}if(object instanceof klass){return true;
+/*@end @*/
+}if(Base.ancestorOf==klass.ancestorOf){return false}if(Base.ancestorOf==object.constructor.ancestorOf){return klass==Object}switch(klass){case Array:return !!(typeof object=="object"&&object.join&&object.splice);case Function:return typeOf(object)=="function";case RegExp:return typeof object.constructor.$1=="string";case Date:return !!object.getTimezoneOffset;case String:case Number:case Boolean:return typeOf(object)==typeof klass.prototype.valueOf();case Object:return true}return false}function typeOf(object){var type=typeof object;switch(type){case"object":return object==null?"null":typeof object.constructor=="undefined"?_MSIE_NATIVE_FUNCTION.test(object)?"function":type:typeof object.constructor.prototype.valueOf();case"function":return typeof object.call=="function"?type:"object";default:return type}}var JavaScript={name:"JavaScript",version:base2.version,exports:"Array2,Date2,Function2,String2",namespace:"",bind:function(host){var top=global;global=host;forEach.csv(this.exports,function(name2){var name=name2.slice(0,-1);extend(host[name],this[name2]);this[name2](host[name].prototype)},this);global=top;return host}};function _createObject2(Native,constructor,generics,extensions){var INative=Module.extend();var id=INative.toString().slice(1,-1);forEach.csv(generics,function(name){INative[name]=unbind(Native.prototype[name]);INative.namespace+=format("var %1=%2.%1;",name,id)});forEach(_slice.call(arguments,3),INative.implement,INative);var Native2=function(){return INative(this.constructor==INative?constructor.apply(null,arguments):arguments[0])};Native2.prototype=INative.prototype;for(var name in INative){if(name!="prototype"&&Native[name]){INative[name]=Native[name];delete INative.prototype[name]}Native2[name]=INative[name]}Native2.ancestor=Object;delete Native2.extend;Native2.namespace=Native2.namespace.replace(/(var (\w+)=)[^,;]+,([^\)]+)\)/g,"$1$3.$2");return Native2}if((new Date).getYear()>1900){Date.prototype.getYear=function(){return this.getFullYear()-1900};Date.prototype.setYear=function(year){return this.setFullYear(year+1900)}}var _testDate=new Date(Date.UTC(2006,1,20));_testDate.setUTCDate(15);if(_testDate.getUTCHours()!=0){forEach.csv("FullYear,Month,Date,Hours,Minutes,Seconds,Milliseconds",function(type){extend(Date.prototype,"setUTC"+type,function(){var value=base(this,arguments);if(value>=57722401000){value-=3600000;this.setTime(value)}return value})})}Function.prototype.prototype={};if("".replace(/^/,K("$$"))=="$"){extend(String.prototype,"replace",function(expression,replacement){if(typeof replacement=="function"){var fn=replacement;replacement=function(){return String(fn.apply(null,arguments)).split("$").join("$$")}}return this.base(expression,replacement)})}var Array2=_createObject2(Array,Array,"concat,join,pop,push,reverse,shift,slice,sort,splice,unshift",Enumerable,{combine:function(keys,values){if(!values){values=keys}return Array2.reduce(keys,function(hash,key,index){hash[key]=values[index];return hash},{})},contains:function(array,item){return Array2.indexOf(array,item)!=-1},copy:function(array){var copy=_slice.call(array);if(!copy.swap){Array2(copy)}return copy},flatten:function(array){var i=0;return Array2.reduce(array,function(result,item){if(Array2.like(item)){Array2.reduce(item,arguments.callee,result)}else{result[i++]=item}return result},[])},forEach:_Array_forEach,indexOf:function(array,item,fromIndex){var length=array.length;if(fromIndex==null){fromIndex=0}else{if(fromIndex<0){fromIndex=Math.max(0,length+fromIndex)}}for(var i=fromIndex;i<length;i++){if(array[i]===item){return i}}return -1},insertAt:function(array,index,item){Array2.splice(array,index,0,item);return item},item:function(array,index){if(index<0){index+=array.length}return array[index]},lastIndexOf:function(array,item,fromIndex){var length=array.length;if(fromIndex==null){fromIndex=length-1}else{if(fromIndex<0){fromIndex=Math.max(0,length+fromIndex)}}for(var i=fromIndex;i>=0;i--){if(array[i]===item){return i}}return -1},map:function(array,block,context){var result=[];Array2.forEach(array,function(item,index){result[index]=block.call(context,item,index,array)});return result},remove:function(array,item){var index=Array2.indexOf(array,item);if(index!=-1){Array2.removeAt(array,index)}},removeAt:function(array,index){Array2.splice(array,index,1)},swap:function(array,index1,index2){if(index1<0){index1+=array.length}if(index2<0){index2+=array.length}var temp=array[index1];array[index1]=array[index2];array[index2]=temp;return array}});Array2.reduce=Enumerable.reduce;Array2.like=function(object){return typeOf(object)=="object"&&typeof object.length=="number"};Enumerable["#implemented_by"].pop();Enumerable["#implemented_by"].push(Array2);var _DATE_PATTERN=/^((-\d+|\d{4,})(-(\d{2})(-(\d{2}))?)?)?T((\d{2})(:(\d{2})(:(\d{2})(\.(\d{1,3})(\d)?\d*)?)?)?)?(([+-])(\d{2})(:(\d{2}))?|Z)?$/;var _DATE_PARTS={FullYear:2,Month:4,Date:6,Hours:8,Minutes:10,Seconds:12,Milliseconds:14};var _TIMEZONE_PARTS={Hectomicroseconds:15,UTC:16,Sign:17,Hours:18,Minutes:20};var _TRIM_ZEROES=/(((00)?:0+)?:0+)?\.0+$/;var _TRIM_TIMEZONE=/(T[0-9:.]+)$/;var Date2=_createObject2(Date,function(yy,mm,dd,h,m,s,ms){switch(arguments.length){case 0:return new Date;case 1:return typeof yy=="number"?new Date(yy):Date2.parse(yy);default:return new Date(yy,mm,arguments.length==2?1:dd,h||0,m||0,s||0,ms||0)}},"",{toISOString:function(date){var string="####-##-##T##:##:##.###";for(var part in _DATE_PARTS){string=string.replace(/#+/,function(digits){var value=date["getUTC"+part]();if(part=="Month"){value++}return("000"+value).slice(-digits.length)})}return string.replace(_TRIM_ZEROES,"").replace(_TRIM_TIMEZONE,"$1Z")}});delete Date2.forEach;Date2.now=function(){return(new Date).valueOf()};Date2.parse=function(string,defaultDate){if(arguments.length>1){assertType(defaultDate,"number","default date should be of type 'number'.")}var parts=match(string,_DATE_PATTERN);if(parts.length){if(parts[_DATE_PARTS.Month]){parts[_DATE_PARTS.Month]--}if(parts[_TIMEZONE_PARTS.Hectomicroseconds]>=5){parts[_DATE_PARTS.Milliseconds]++}var date=new Date(defaultDate||0);var prefix=parts[_TIMEZONE_PARTS.UTC]||parts[_TIMEZONE_PARTS.Hours]?"UTC":"";for(var part in _DATE_PARTS){var value=parts[_DATE_PARTS[part]];if(!value){continue}date["set"+prefix+part](value);if(date["get"+prefix+part]()!=parts[_DATE_PARTS[part]]){return NaN}}if(parts[_TIMEZONE_PARTS.Hours]){var hours=Number(parts[_TIMEZONE_PARTS.Sign]+parts[_TIMEZONE_PARTS.Hours]);var minutes=Number(parts[_TIMEZONE_PARTS.Sign]+(parts[_TIMEZONE_PARTS.Minutes]||0));date.setUTCMinutes(date.getUTCMinutes()+(hours*60)+minutes)}return date.valueOf()}else{return Date.parse(string)}};var String2=_createObject2(String,function(string){return new String(arguments.length==0?"":string)},"charAt,charCodeAt,concat,indexOf,lastIndexOf,match,replace,search,slice,split,substr,substring,toLowerCase,toUpperCase",{csv:csv,format:format,rescape:rescape,trim:trim});delete String2.forEach;function trim(string){return String(string).replace(_LTRIM,"").replace(_RTRIM,"")}function csv(string){return string?(string+"").split(/\s*,\s*/):[]}function format(string){var args=arguments;var pattern=new RegExp("%([1-"+(arguments.length-1)+"])","g");return(string+"").replace(pattern,function(match,index){return args[index]})}function match(string,expression){return(string+"").match(expression)||[]}function rescape(string){return(string+"").replace(_RESCAPE,"\\$1")}var Function2=_createObject2(Function,Function,"",{I:I,II:II,K:K,bind:bind,compose:compose,delegate:delegate,flip:flip,not:not,partial:partial,unbind:unbind});function I(i){return i}function II(i,ii){return ii}function K(k){return function(){return k}}function bind(fn,context){var lateBound=typeof fn!="function";if(arguments.length>2){var args=_slice.call(arguments,2);return function(){return(lateBound?context[fn]:fn).apply(context,args.concat.apply(args,arguments))}}else{return function(){return(lateBound?context[fn]:fn).apply(context,arguments)}}}function compose(){var fns=_slice.call(arguments);return function(){var i=fns.length,result=fns[--i].apply(this,arguments);while(i--){result=fns[i].call(this,result)}return result}}function delegate(fn,context){return function(){var args=_slice.call(arguments);args.unshift(this);return fn.apply(context,args)}}function flip(fn){return function(){return fn.apply(this,Array2.swap(arguments,0,1))}}function not(fn){return function(){return !fn.apply(this,arguments)}}function partial(fn){var args=_slice.call(arguments,1);return function(){var specialised=args.concat(),i=0,j=0;while(i<args.length&&j<arguments.length){if(specialised[i]===undefined){specialised[i]=arguments[j++]}i++}while(j<arguments.length){specialised[i++]=arguments[j++]}if(Array2.contains(specialised,undefined)){specialised.unshift(fn);return partial.apply(null,specialised)}return fn.apply(this,specialised)}}function unbind(fn){return function(context){return fn.apply(context,_slice.call(arguments,1))}}function detect(){var jscript=NaN
+/*@cc_on||@_jscript_version@*/
+;var javaEnabled=global.java?true:false;if(global.navigator){var MSIE=/MSIE[\d.]+/g;var element=document.createElement("span");var userAgent=navigator.userAgent.replace(/([a-z])[\s\/](\d)/gi,"$1$2");if(!jscript){userAgent=userAgent.replace(MSIE,"")}if(MSIE.test(userAgent)){userAgent=userAgent.match(MSIE)[0]+" "+userAgent.replace(MSIE,"")}base2.userAgent=navigator.platform+" "+userAgent.replace(/like \w+/gi,"");javaEnabled&=navigator.javaEnabled()}var _cache={};detect=function(expression){if(_cache[expression]==null){var returnValue=false,test=expression;var not=test.charAt(0)=="!";if(not){test=test.slice(1)}if(test.charAt(0)=="("){try{returnValue=new Function("element,jscript,java,global","return !!"+test)(element,jscript,javaEnabled,global)}catch(ex){}}else{returnValue=new RegExp("("+test+")","i").test(base2.userAgent)}_cache[expression]=!!(not^returnValue)}return _cache[expression]};return detect(arguments[0])}base2=global.base2=new Package(this,base2);var exports=this.exports;lang=new Package(this,lang);exports+=this.exports;JavaScript=new Package(this,JavaScript);eval(exports+this.exports);lang.base=base;lang.extend=extend};new function(_no_shrink_){var DOM=new base2.Package(this,{name:"DOM",version:"1.0.1",imports:"Function2",exports:"Interface,Binding,Node,Document,Element,AbstractView,HTMLDocument,HTMLElement,Selector,Traversal,CSSParser,XPathParser,NodeSelector,DocumentSelector,ElementSelector,StaticNodeList,Event,EventTarget,DocumentEvent,ViewCSS,CSSStyleDeclaration,ClassList",bind:function(node){if(node&&node.nodeType){var base2ID=assignID(node);if(!DOM.bind[base2ID]){switch(node.nodeType){case 1:if(typeof node.className=="string"){(HTMLElement.bindings[node.tagName]||HTMLElement).bind(node)}else{Element.bind(node)}break;case 9:if(node.writeln){HTMLDocument.bind(node)}else{Document.bind(node)}break;default:Node.bind(node)}DOM.bind[base2ID]=true}}return node},"@MSIE5.+win":{bind:function(node){if(node&&node.writeln){node.nodeType=9}return this.base(node)}}});eval(this.imports);var _MSIE=detect("MSIE");var _MSIE5=detect("MSIE5");var Interface=Module.extend(null,{forEach:function(block,context){forEach(this,function(method,name){if(typeOf(method)=="function"&&(this.prototype[name]||method._delegate)){block.call(context,method,name,this)}},this,Module)},implement:function(_interface){if(typeof _interface=="object"){_createDelegates(this,_interface)}else{if(Interface.ancestorOf(_interface)){for(var name in _interface){if(_interface[name]&&_interface[name]._delegate){this[name]=bind(name,_interface);this[name]._delegate=name}}}}return this.base(_interface)}});function _createDelegates(module,_interface){var id=module.toString().slice(1,-1);for(var name in _interface){var property=_interface[name];if(name.charAt(0)=="@"){_createDelegates(module,property)}else{if(!module[name]&&typeof property=="function"&&property.call){var args="abcdefghij".slice(0,property.length).split("");var fn=new Function(args.join(","),format("%2.base=%2.%1.ancestor;var m=%2.base?'base':'%1';return %2[m](%3)",name,args[0],args.slice(1)));fn._delegate=name;module[name]=fn;module.namespace+="var "+name+"=base2.lang.bind('"+name+"',"+id+");"}}}}var Binding=Interface.extend(null,{bind:function(object){return extend(object,this.prototype)}});var Node=Binding.extend({"@!(element.compareDocumentPosition)":{compareDocumentPosition:function(node,other){if(Traversal.contains(node,other)){return 4|16}else{if(Traversal.contains(other,node)){return 2|8}}var nodeIndex=_getSourceIndex(node);var otherIndex=_getSourceIndex(other);if(nodeIndex<otherIndex){return 4}else{if(nodeIndex>otherIndex){return 2}}return 0}}},{"@Gecko":{bind:function(node){return extend(this.base(node),"removeEventListener",function(){var args=Array2.slice(arguments);args.unshift(this);EventTarget.removeEventListener.apply(EventTarget,args)})}}});var _getSourceIndex=document.documentElement.sourceIndex?function(node){return node.sourceIndex}:function(node){var key=0;while(node){key=Traversal.getNodeIndex(node)+"."+key;node=node.parentNode}return key};var Document=Node.extend(null,{bind:function(document){extend(document,"createElement",function(tagName){return DOM.bind(this.base(tagName))});AbstractView.bind(document.defaultView);if(document!=window.document){new DOMContentLoadedEvent(document)}return this.base(document)},"@!(document.defaultView)":{bind:function(document){document.defaultView=Traversal.getDefaultView(document);return this.base(document)}}});var _ATTRIBUTES={"class":"className","for":"htmlFor"};var Element=Node.extend({"@MSIE.+win":{getAttribute:function(element,name){if(element.className===undefined){return this.base(element,name)}var attribute=_getAttributeNode(element,name);if(attribute&&(attribute.specified||name=="value")){if(name=="href"||name=="src"){element.base=element.getAttribute.ancestor;return element[element.base?"base":"getAttribute"](name,2)}else{if(name=="style"){return element.style.cssText.toLowerCase()}else{return attribute.nodeValue}}}else{if(name=="type"&&element.nodeName=="INPUT"){var outerHTML=element.outerHTML;with(outerHTML){outerHTML=slice(0,indexOf(">")+1)}return match(outerHTML,/type="?([^\s">]*)"?/i)[1]||null}}return null},removeAttribute:function(element,name){if(element.className!==undefined){name=_ATTRIBUTES[name.toLowerCase()]||name}this.base(element,name)},setAttribute:function(element,name,value){if(element.className===undefined){this.base(element,name,value)}else{if(name=="style"){element.style.cssText=value}else{value=String(value);var attribute=_getAttributeNode(element,name);if(attribute){attribute.nodeValue=value}else{this.base(element,_ATTRIBUTES[name.toLowerCase()]||name,value)}}}}},"@!(element.hasAttribute)":{hasAttribute:function(element,name){if(element.className===undefined){return this.base(element,name)}return this.getAttribute(element,name)!=null}}});if(detect("MSIE.+win")){extend(Element.prototype,"cloneNode",function(deep){var clone=this.base(deep||false);clone.base2ID=undefined;return clone})}var _HTML_ATTRIBUTES="colSpan,rowSpan,vAlign,dateTime,accessKey,tabIndex,encType,maxLength,readOnly,longDesc";extend(_ATTRIBUTES,Array2.combine(_HTML_ATTRIBUTES.toLowerCase().split(","),_HTML_ATTRIBUTES.split(",")));var _getAttributeNode=document.documentElement.getAttributeNode?function(element,name){return element.getAttributeNode(name)}:function(element,name){return element.attributes[name]||element.attributes[_ATTRIBUTES[name.toLowerCase()]]};var TEXT=detect("(element.textContent===undefined)")?"innerText":"textContent";var Traversal=Module.extend({getDefaultView:function(node){return this.getDocument(node).defaultView},getNextElementSibling:function(node){while(node&&(node=node.nextSibling)&&!this.isElement(node)){continue}return node},getNodeIndex:function(node){var index=0;while(node&&(node=node.previousSibling)){index++}return index},getOwnerDocument:function(node){return node.ownerDocument},getPreviousElementSibling:function(node){while(node&&(node=node.previousSibling)&&!this.isElement(node)){continue}return node},getTextContent:function(node,isHTML){return node[isHTML?"innerHTML":TEXT]},isEmpty:function(node){node=node.firstChild;while(node){if(node.nodeType==3||this.isElement(node)){return false}node=node.nextSibling}return true},setTextContent:function(node,text,isHTML){return node[isHTML?"innerHTML":TEXT]=text},"@!MSIE":{setTextContent:function(node,text,isHTML){with(node){while(lastChild){parentNode.removeChild(lastChild)}}return this.base(node,text,isHTML)}},"@MSIE":{getDefaultView:function(node){return(node.document||node).parentWindow},"@MSIE5":{getOwnerDocument:function(node){return node.ownerDocument||node.document}}}},{contains:function(node,target){node.nodeType;while(target&&(target=target.parentNode)&&node!=target){continue}return !!target},getDocument:function(node){return this.isDocument(node)?node:node.ownerDocument||node.document},isDocument:function(node){return !!(node&&node.documentElement)},isElement:function(node){return !!(node&&node.nodeType==1)},"@(element.contains)":{contains:function(node,target){return node!=target&&(this.isDocument(node)?node==this.getOwnerDocument(target):node.contains(target))}},"@MSIE5":{isElement:function(node){return !!(node&&node.nodeType==1&&node.nodeName!="!")}}});var AbstractView=Binding.extend();var _CAPTURE_TYPE={},_TYPE_MAP={"2":2,"4":1};var _CAPTURING_PHASE=1,_AT_TARGET=2,_BUBBLING_PHASE=3;var _MOUSE_BUTTON=/^mouse(up|down)|click$/,_MOUSE_CLICK=/click$/,_BUBBLES="abort|error|select|change|resize|scroll|",_CANCELABLE="(dbl)?click|mouse(down|up|over|move|out|wheel)|key(down|up)|submit|reset";_BUBBLES=new RegExp("^("+_BUBBLES+_CANCELABLE+")$");_CANCELABLE=new RegExp("^("+_CANCELABLE+")$");if(_MSIE){var _W3C_EVENT_TYPE={focusin:"focus",focusout:"blur"};_CAPTURE_TYPE={focus:"focusin",blur:"focusout"}}var _CAN_DELEGATE=/^(blur|submit|reset|change|select)$|^(mouse|key|focus)|click$/;var Event=Binding.extend({"@!(document.createEvent)":{initEvent:function(event,type,bubbles,cancelable){event.type=String(type);event.bubbles=!!bubbles;event.cancelable=!!cancelable},preventDefault:function(event){if(event.cancelable!==false){event.returnValue=false}},stopPropagation:function(event){event.cancelBubble=true},"@MSIE":{preventDefault:function(event){this.base(event);if(event.type=="mousedown"){var type="onbeforedeactivate";var document=Traversal.getDocument(event.target);document.attachEvent(type,function(event){event.returnValue=false;document.detachEvent(type,arguments.callee)})}}}}},{CAPTURING_PHASE:_CAPTURING_PHASE,AT_TARGET:_AT_TARGET,BUBBLING_PHASE:_BUBBLING_PHASE,"@!(document.createEvent)":{"@MSIE":{bind:function(event){var type=event.type;if(!event.timeStamp){event.bubbles=_BUBBLES.test(type);event.cancelable=_CANCELABLE.test(type);event.timeStamp=new Date().valueOf()}event.relatedTarget=event[(event.target==event.fromElement?"to":"from")+"Element"];return this.base(event)}}},cloneEvent:function(event){var clone=copy(event);clone.stopPropagation=function(){event.stopPropagation()};clone.preventDefault=function(){event.preventDefault()};return clone},"@MSIE":{cloneEvent:copy}});var EventDispatcher=Base.extend({constructor:function(state){this.state=state;this.events=state.events},dispatch:function(nodes,event,phase){event.eventPhase=phase;var map=this.events[event.type][phase];if(map){var i=nodes.length;while(i--&&!event.cancelBubble){var currentTarget=nodes[i];var listeners=map[currentTarget.base2ID];if(listeners){listeners=copy(listeners);event.currentTarget=currentTarget;event.eventPhase=currentTarget==event.target?_AT_TARGET:phase;for(var listenerID in listeners){var listener=listeners[listenerID];if(typeof listener=="function"){listener.call(currentTarget,event)}else{listener.handleEvent(event)}}}}}},handleEvent:function(event,fixed){Event.bind(event);var type=event.type;var w3cType=_W3C_EVENT_TYPE[type];if(w3cType){event=copy(event);type=event.type=w3cType}if(this.events[type]){if(_MOUSE_BUTTON.test(type)){var button=_MOUSE_CLICK.test(type)?this.state._button:event.button;button=_TYPE_MAP[button]||0;if(event.button!=button){event=copy(event);event.button=button}}var currentTarget=event.target;var nodes=[],i=0;while(currentTarget){nodes[i++]=currentTarget;currentTarget=currentTarget.parentNode}this.dispatch(nodes,event,_CAPTURING_PHASE);if(!event.cancelBubble){if(!event.bubbles){nodes.length=1}nodes.reverse();this.dispatch(nodes,event,_BUBBLING_PHASE)}}return event.returnValue!==false},"@MSIE.+win":{handleEvent:function(event){if(event.type=="scroll"){setTimeout(bind(this.base,this,copy(event),true),0);return true}else{return this.base(event)}},"@MSIE5":{dispatch:function(nodes,event,phase){if(phase==_CAPTURING_PHASE&&!Array2.item(nodes,-1).documentElement){nodes.push(nodes[0].document)}this.base(nodes,event,phase)}}}});var _wrappedListeners={};var EventTarget=Interface.extend({"@!(element.addEventListener)":{addEventListener:function(target,type,listener,useCapture){var documentState=DocumentState.getInstance(target);var targetID=assignID(target);var listenerID=assignID(listener);var phase=useCapture?_CAPTURING_PHASE:_BUBBLING_PHASE;var typeMap=documentState.registerEvent(type,target);var phaseMap=typeMap[phase];if(!phaseMap){phaseMap=typeMap[phase]={}}if(useCapture){type=_CAPTURE_TYPE[type]||type}var listeners=phaseMap[targetID];if(!listeners){listeners=phaseMap[targetID]={}}listeners[listenerID]=listener},dispatchEvent:function(target,event){event.target=target;return DocumentState.getInstance(target).handleEvent(event)},removeEventListener:function(target,type,listener,useCapture){var events=DocumentState.getInstance(target).events;var typeMap=events[type];if(typeMap){var phaseMap=typeMap[useCapture?_CAPTURING_PHASE:_BUBBLING_PHASE];if(phaseMap){var listeners=phaseMap[target.base2ID];if(listeners){delete listeners[listener.base2ID]}}}}},"@(element.addEventListener)":{"@Gecko":{addEventListener:function(target,type,listener,useCapture){if(type=="mousewheel"){type="DOMMouseScroll";var originalListener=listener;listener=_wrappedListeners[assignID(listener)]=function(event){event=Event.cloneEvent(event);event.type="mousewheel";event.wheelDelta=(-event.detail*40)||0;_handleEvent(target,originalListener,event)}}this.base(target,type,listener,useCapture)}},"@webkit[1-4]|KHTML[34]":{addEventListener:function(target,type,listener,useCapture){if(_MOUSE_BUTTON.test(type)){var originalListener=listener;listener=_wrappedListeners[assignID(listener)]=function(event){var button=_TYPE_MAP[event.button]||0;if(event.button!=button){event=Event.cloneEvent(event);event.button=button}_handleEvent(target,originalListener,event)}}else{if(typeof listener=="object"){listener=_wrappedListeners[assignID(listener)]=bind("handleEvent",listener)}}this.base(target,type,listener,useCapture)}},"@Linux|Mac|opera":{addEventListener:function(target,type,listener,useCapture){if(type=="keydown"){var originalListener=listener;listener=_wrappedListeners[assignID(listener)]=function(keydownEvent){var firedCount=0,cancelled=false;extend(keydownEvent,"preventDefault",function(){this.base();cancelled=true});function handleEvent(event){if(cancelled){event.preventDefault()}if(event==keydownEvent||firedCount>1){_handleEvent(target,originalListener,keydownEvent)}firedCount++}handleEvent(keydownEvent);target.addEventListener("keyup",function(){target.removeEventListener("keypress",handleEvent,true);target.removeEventListener("keyup",arguments.callee,true)},true);target.addEventListener("keypress",handleEvent,true)}}this.base(target,type,listener,useCapture)}},removeEventListener:function(target,type,listener,useCapture){this.base(target,type,_wrappedListeners[listener.base2ID]||listener,useCapture)}}});if(detect("Gecko")){EventTarget.removeEventListener._delegate="removeEventListener";delete EventTarget.prototype.removeEventListener}function _handleEvent(target,listener,event){if(typeof listener=="function"){listener.call(target,event)}else{listener.handleEvent(event)}}var DocumentEvent=Interface.extend({"@!(document.createEvent)":{createEvent:function(document,type){var event=document.createEventObject?document.createEventObject():{};event.bubbles=false;event.cancelable=false;event.eventPhase=0;event.target=document;event.currentTarget=null;event.relatedTarget=null;event.timeStamp=new Date().valueOf();return Event(event)}},"@(document.createEvent)":{"@!(document.createEvent('Events'))":{createEvent:function(document,type){return this.base(document,type=="Events"?"UIEvents":type)}}}});var DOMContentLoadedEvent=Base.extend({constructor:function(document){var fired=false;this.fire=function(){if(!fired){fired=true;setTimeout(function(){var event=DocumentEvent.createEvent(document,"Events");Event.initEvent(event,"DOMContentLoaded",true,false);EventTarget.dispatchEvent(document,event)},1)}};EventTarget.addEventListener(document,"DOMContentLoaded",function(){fired=true},false);this.listen(document)},listen:Undefined,"@!Gecko20([^0]|0[3-9])|Webkit[5-9]|Opera[19]|MSIE.+mac":{listen:function(document){EventTarget.addEventListener(Traversal.getDefaultView(document),"load",this.fire,false)},"@MSIE.+win":{listen:function(document){try{document.body.doScroll("left");if(!this.__constructing){this.fire()}}catch(e){setTimeout(bind(this.listen,this,document),10)}}},"@KHTML":{listen:function(document){if(/loaded|complete/.test(document.readyState)){if(!this.__constructing){this.fire()}}else{setTimeout(bind(this.listen,this,document),10)}}}}});Document.implement(DocumentEvent);Document.implement(EventTarget);Element.implement(EventTarget);var _PIXEL=/^\d+(px)?$/i,_METRICS=/(width|height|top|bottom|left|right|fontSize)$/,_COLOR=/^(color|backgroundColor)$/,_RGB_BLACK="rgb(0, 0, 0)",_BLACK={black:1,"#000":1,"#000000":1};var ViewCSS=Interface.extend({"@!(document.defaultView.getComputedStyle)":{"@MSIE":{getComputedStyle:function(view,element,pseudoElement){var currentStyle=element.currentStyle;var computedStyle={};for(var propertyName in currentStyle){if(_METRICS.test(propertyName)||_COLOR.test(propertyName)){computedStyle[propertyName]=this.getComputedPropertyValue(view,element,propertyName)}else{if(propertyName.indexOf("ruby")!=0){computedStyle[propertyName]=currentStyle[propertyName]}}}return computedStyle}}},getComputedStyle:function(view,element,pseudoElement){return _CSSStyleDeclaration_ReadOnly.bind(this.base(view,element,pseudoElement))}},{getComputedPropertyValue:function(view,element,propertyName){return CSSStyleDeclaration.getPropertyValue(this.getComputedStyle(view,element,null),propertyName)},"@MSIE":{getComputedPropertyValue:function(view,element,propertyName){propertyName=this.toCamelCase(propertyName);var value=element.currentStyle[propertyName];if(_METRICS.test(propertyName)){return _MSIE_getPixelValue(element,value)+"px"}if(!_MSIE5&&_COLOR.test(propertyName)){var rgb=_MSIE_getColorValue(element,propertyName=="color"?"ForeColor":"BackColor");return(rgb==_RGB_BLACK&&!_BLACK[value])?value:rgb}return value}},toCamelCase:function(string){return string.replace(/\-([a-z])/g,flip(String2.toUpperCase))}});function _MSIE_getPixelValue(element,value){if(_PIXEL.test(value)){return parseInt(value)}var styleLeft=element.style.left;var runtimeStyleLeft=element.runtimeStyle.left;element.runtimeStyle.left=element.currentStyle.left;element.style.left=value||0;value=element.style.pixelLeft;element.style.left=styleLeft;element.runtimeStyle.left=runtimeStyleLeft;return value}function _MSIE_getColorValue(element,type){if(element.createTextRange){var range=element.createTextRange()}else{range=element.document.body.createTextRange();range.moveToElementText(element)}var color=range.queryCommandValue(type);return format("rgb(%1, %2, %3)",color&255,(color&65280)>>8,(color&16711680)>>16)}var _CSSStyleDeclaration_ReadOnly=Binding.extend({getPropertyValue:function(style,propertyName){return this.base(style,_CSSPropertyNameMap[propertyName]||propertyName)},"@MSIE.+win":{getPropertyValue:function(style,propertyName){return propertyName=="float"?style.styleFloat:style[ViewCSS.toCamelCase(propertyName)]}}});var CSSStyleDeclaration=_CSSStyleDeclaration_ReadOnly.extend({setProperty:function(style,propertyName,value,priority){return this.base(style,_CSSPropertyNameMap[propertyName]||propertyName,value,priority)},"@MSIE.+win":{setProperty:function(style,propertyName,value,priority){if(propertyName=="opacity"){value*=100;style.opacity=value;style.zoom=1;style.filter="Alpha(opacity="+value+")"}else{if(priority=="important"){style.cssText+=format(";%1:%2!important;",propertyName,value)}else{style.setAttribute(ViewCSS.toCamelCase(propertyName),value)}}}}},{"@MSIE":{bind:function(style){style.getPropertyValue=this.prototype.getPropertyValue;style.setProperty=this.prototype.setProperty;return style}}});var _CSSPropertyNameMap=new Base({"@Gecko":{opacity:"-moz-opacity"},"@KHTML":{opacity:"-khtml-opacity"}});with(CSSStyleDeclaration.prototype){getPropertyValue.toString=setProperty.toString=K("[base2]")}AbstractView.implement(ViewCSS);var NodeSelector=Interface.extend({"@(element.querySelector)":{querySelector:function(node,selector){try{var element=this.base(node,trim(selector));if(element){return element}}catch(x){}return new Selector(selector).exec(node,1)},querySelectorAll:function(node,selector){try{var nodeList=this.base(node,trim(selector));if(nodeList){return new StaticNodeList(nodeList)}}catch(x){}return new Selector(selector).exec(node)}},"@!(element.querySelector)":{querySelector:function(node,selector){return new Selector(selector).exec(node,1)},querySelectorAll:function(node,selector){return new Selector(selector).exec(node)}}});extend(NodeSelector.prototype,{querySelector:function(selector){return DOM.bind(this.base(selector))},querySelectorAll:function(selector){return extend(this.base(selector),"item",function(index){return DOM.bind(this.base(index))})}});var DocumentSelector=NodeSelector.extend();var ElementSelector=NodeSelector.extend({"@!(element.matchesSelector)":{matchesSelector:function(element,selector){return new Selector(selector).test(element)}}});var _CSS_ESCAPE=/'(\\.|[^'\\])*'|"(\\.|[^"\\])*"/g,_CSS_IMPLIED_ASTERISK=/([\s>+~,]|[^(]\+|^)([#.:\[])/g,_CSS_IMPLIED_SPACE=/(^|,)([^\s>+~])/g,_CSS_WHITESPACE=/\s*([\s>+~,]|^|$)\s*/g,_CSS_WILD_CARD=/\s\*\s/g,_CSS_UNESCAPE=/\x01(\d+)/g,_QUOTE=/'/g;var CSSParser=RegGrp.extend({constructor:function(items){this.base(items);this.cache={};this.sorter=new RegGrp;this.sorter.add(/:not\([^)]*\)/,RegGrp.IGNORE);this.sorter.add(/([ >](\*|[\w-]+))([^: >+~]*)(:\w+-child(\([^)]+\))?)([^: >+~]*)/,"$1$3$6$4")},cache:null,ignoreCase:true,escape:function(selector,simple){var strings=this._strings=[];selector=this.optimise(this.format(String(selector).replace(_CSS_ESCAPE,function(string){return"\x01"+strings.push(string.slice(1,-1).replace(_QUOTE,"\\'"))})));if(simple){selector=selector.replace(/(^|,) \*?/g,"$1")}return selector},format:function(selector){return selector.replace(_CSS_WHITESPACE,"$1").replace(_CSS_IMPLIED_SPACE,"$1 $2").replace(_CSS_IMPLIED_ASTERISK,"$1*$2")},optimise:function(selector){return this.sorter.exec(selector.replace(_CSS_WILD_CARD,">* "))},parse:function(selector,simple){return this.cache[selector]||(this.cache[selector]=this.unescape(this.exec(this.escape(selector,simple))))},unescape:function(selector){var strings=this._strings;return selector.replace(_CSS_UNESCAPE,function(match,index){return strings[index-1]})}});function _nthChild(match,args,position,last,not,and,mod,equals){last=/last/i.test(match)?last+"+1-":"";if(!isNaN(args)){args="0n+"+args}else{if(args=="even"){args="2n"}else{if(args=="odd"){args="2n+1"}}}args=args.split("n");var a=args[0]?(args[0]=="-")?-1:parseInt(args[0]):1;var b=parseInt(args[1])||0;var negate=a<0;if(negate){a=-a;if(a==1){b++}}var query=format(a==0?"%3%7"+(last+b):"(%4%3-%2)%6%1%70%5%4%3>=%2",a,b,position,last,and,mod,equals);if(negate){query=not+"("+query+")"}return query}var XPathParser=CSSParser.extend({constructor:function(){this.base(XPathParser.build());this.sorter.putAt(1,"$1$4$3$6")},escape:function(selector,simple){return this.base(selector,simple).replace(/,/g,"\x02")},unescape:function(selector){return this.base(selector.replace(/\[self::\*\]/g,"").replace(/(^|\x02)\//g,"$1./").replace(/\x02/g," | ")).replace(/'[^'\\]*\\'(\\.|[^'\\])*'/g,function(match){return"concat("+match.split("\\'").join("',\"'\",'")+")"})},"@opera(7|8|9\\.[1-4])":{unescape:function(selector){return this.base(selector.replace(/last\(\)/g,"count(preceding-sibling::*)+count(following-sibling::*)+1"))}}},{build:function(){this.values.attributes[""]="[@$1]";forEach(this.types,function(add,type){forEach(this.values[type],add,this.rules)},this);this.build=K(this.rules);return this.rules},optimised:{pseudoClasses:{"first-child":"[1]","last-child":"[last()]","only-child":"[last()=1]"}},rules:extend({},{"@!KHTML|opera":{"(^|\\x02) (\\*|[\\w-]+)#([\\w-]+)":"$1id('$3')[self::$2]"},"@!KHTML":{"([ >])(\\*|[\\w-]+):([\\w-]+-child(\\(([^)]+)\\))?)":function(match,token,tagName,pseudoClass,$4,args){var replacement=(token==" ")?"//*":"/*";if(/^nth/i.test(pseudoClass)){replacement+=_xpath_nthChild(pseudoClass,args,"position()")}else{replacement+=XPathParser.optimised.pseudoClasses[pseudoClass]}return replacement+"[self::"+tagName+"]"}}}),types:{identifiers:function(replacement,token){this[rescape(token)+"([\\w-]+)"]=replacement},combinators:function(replacement,combinator){this[rescape(combinator)+"(\\*|[\\w-]+)"]=replacement},attributes:function(replacement,operator){this["\\[\\s*([\\w-]+)\\s*"+rescape(operator)+"\\s*([^\\]\\s]*)\\s*\\]"]=replacement},pseudoClasses:function(replacement,pseudoClass){this[":"+pseudoClass.replace(/\(\)$/,"\\(([^)]+)\\)")]=replacement}},values:{identifiers:{"#":"[@id='$1'][1]",".":"[contains(concat(' ',@class,' '),' $1 ')]"},combinators:{" ":"/descendant::$1",">":"/child::$1","+":"/following-sibling::*[1][self::$1]","~":"/following-sibling::$1"},attributes:{"*=":"[contains(@$1,'$2')]","^=":"[starts-with(@$1,'$2')]","$=":"[substring(@$1,string-length(@$1)-string-length('$2')+1)='$2']","~=":"[contains(concat(' ',@$1,' '),' $2 ')]","|=":"[contains(concat('-',@$1,'-'),'-$2-')]","!=":"[not(@$1='$2')]","=":"[@$1='$2']"},pseudoClasses:{link:"[false]",visited:"[false]",empty:"[not(child::*) and not(text())]","first-child":"[not(preceding-sibling::*)]","last-child":"[not(following-sibling::*)]","not()":_xpath_not,"nth-child()":_xpath_nthChild,"nth-last-child()":_xpath_nthChild,"only-child":"[not(preceding-sibling::*) and not(following-sibling::*)]",root:"[not(parent::*)]"}},"@opera(7|8|9\\.[1-4])":{build:function(){this.optimised.pseudoClasses["last-child"]=this.values.pseudoClasses["last-child"];this.optimised.pseudoClasses["only-child"]=this.values.pseudoClasses["only-child"];return this.base()}}});var _notParser;function _xpath_not(match,args){if(!_notParser){_notParser=new XPathParser}return"[not("+_notParser.exec(trim(args)).replace(/\[1\]/g,"").replace(/^(\*|[\w-]+)/,"[self::$1]").replace(/\]\[/g," and ").slice(1,-1)+")]"}function _xpath_nthChild(match,args,position){return"["+_nthChild(match,args,position||"count(preceding-sibling::*)+1","last()","not"," and "," mod ","=")+"]"}var Selector=Base.extend({constructor:function(selector){this.toString=K(trim(selector))},exec:function(context,count,simple){return Selector.parse(this,simple)(context,count)},isSimple:function(){if(!_parser.exec){_parser=new CSSParser(_parser)}return !_COMBINATOR.test(trim(_parser.escape(this)))},test:function(element){if(this.isSimple()){return !!Selector.parse(this,true)(element,1)}else{element.setAttribute("b2-test",true);var result=new Selector(this+"[b2-test]").exec(Traversal.getOwnerDocument(element),1);element.removeAttribute("b2-test");return result==element}},toXPath:function(simple){return Selector.toXPath(this,simple)},"@(XPathResult)":{exec:function(context,count,simple){if(_NOT_XPATH.test(this)){return this.base(context,count,simple)}var document=Traversal.getDocument(context);var type=count==1?9:7;var result=document.evaluate(this.toXPath(simple),context,null,type,null);return count==1?result.singleNodeValue:result}},"@MSIE":{exec:function(context,count,simple){if(typeof context.selectNodes!="undefined"&&!_NOT_XPATH.test(this)){var method=single?"selectSingleNode":"selectNodes";return context[method](this.toXPath(simple))}return this.base(context,count,simple)}},"@(true)":{exec:function(context,count,simple){try{var result=this.base(context||document,count,simple)}catch(error){throw new SyntaxError(format("'%1' is not a valid CSS selector.",this))}return count==1?result:new StaticNodeList(result)}}},{toXPath:function(selector,simple){if(!_xpathParser){_xpathParser=new XPathParser}return _xpathParser.parse(selector,simple)}});var _COMBINATOR=/[^,]\s|[+>~]/;var _NOT_XPATH=":(checked|disabled|enabled|contains|hover|active|focus)|^(#[\\w-]+\\s*)?\\w+$";if(detect("KHTML")){if(detect("WebKit5")){_NOT_XPATH+="|nth\\-|,"}else{_NOT_XPATH="."}}_NOT_XPATH=new RegExp(_NOT_XPATH);Selector.operators={"=":"%1=='%2'","~=":/(^| )%1( |$)/,"|=":/^%1(-|$)/,"^=":/^%1/,"$=":/%1$/,"*=":/%1/};Selector.operators[""]="%1!=null";Selector.pseudoClasses={checked:"e%1.checked",contains:"e%1[TEXT].indexOf('%2')!=-1",disabled:"e%1.disabled",empty:"Traversal.isEmpty(e%1)",enabled:"e%1.disabled===false","first-child":"!Traversal.getPreviousElementSibling(e%1)","last-child":"!Traversal.getNextElementSibling(e%1)","only-child":"!Traversal.getPreviousElementSibling(e%1)&&!Traversal.getNextElementSibling(e%1)",root:"e%1==Traversal.getDocument(e%1).documentElement",target:"e%1.id&&e%1.id==location.hash.slice(1)",hover:"DocumentState.getInstance(d).isHover(e%1)",active:"DocumentState.getInstance(d).isActive(e%1)",focus:"DocumentState.getInstance(d).hasFocus(e%1)",link:"false",visited:"false"};var _INDEXED=document.documentElement.sourceIndex!==undefined,_VAR="var p%2=0,i%2,e%3,n%2=e%1.",_ID=_INDEXED?"e%1.sourceIndex":"assignID(e%1)",_TEST="var g="+_ID+";if(!p[g]){p[g]=1;",_STORE="r[k++]=e%1;if(s==1)return e%1;if(k===s){_query.state=[%2];_query.complete=%3;return r;",_FN="var _query=function(e0,s%1){_indexed++;var r=[],p={},p0=0,reg=[%4],d=Traversal.getDocument(e0),c=d.writeln?'toUpperCase':'toString',k=0;";var _xpathParser;var _reg,_index,_wild,_list,_group,_listAll,_duplicate,_cache={},_simple={};function sum(list){var total=0;for(var i=0;i<list.length;i++){total+=list[i]}return total}var _parser={"^(\\*|[\\w-]+)":function(match,tagName){return tagName=="*"?"":format("if(e0.nodeName=='%1'[c]()){",tagName)},"^ \\*:root":function(match){_wild=false;var replacement="e%2=d.documentElement;if(Traversal.contains(e%1,e%2)){";return format(replacement,_index++,_index)}," (\\*|[\\w-]+)#([\\w-]+)":function(match,tagName,id){_wild=false;var replacement="var e%2=_byId(d,'%4');if(e%2&&";if(tagName!="*"){replacement+="e%2.nodeName=='%3'[c]()&&"}replacement+="Traversal.contains(e%1,e%2)){";if(_list[_group]){replacement+=format("i%1=n%1.length;",sum(_list))}return format(replacement,_index++,_index,tagName,id)}," (\\*|[\\w-]+)":function(match,tagName){_duplicate++;_wild=tagName=="*";var replacement=format(_VAR,_index++,"%2",_index);replacement+=(_wild&&_MSIE5)?"all":"getElementsByTagName('%3')";replacement+=";for(i%2=a%2||0;(e%1=n%2[i%2]);i%2++){";_list[_group]++;return format(replacement,_index,sum(_list),tagName)},">(\\*|[\\w-]+)":function(match,tagName){var children=_MSIE&&_index;_wild=tagName=="*";var replacement=_VAR+(children?"children":"childNodes");replacement=format(replacement,_index++,"%2",_index);if(!_wild&&_MSIE&&children){replacement+=".tags('%3')"}replacement+=";for(i%2=a%2||0;(e%1=n%2[i%2]);i%2++){";if(_wild){replacement+="if(e%1.nodeType==1){";_wild=_MSIE5}else{if(!_MSIE||!children){replacement+="if(e%1.nodeName=='%3'[c]()){"}}_list[_group]++;return format(replacement,_index,sum(_list),tagName)},"\\+(\\*|[\\w-]+)":function(match,tagName){var replacement="";if(_wild&&_MSIE){replacement+="if(e%1.nodeName!='!'){"}_wild=false;replacement+="e%1=Traversal.getNextElementSibling(e%1);if(e%1";if(tagName!="*"){replacement+="&&e%1.nodeName=='%2'[c]()"}replacement+="){";return format(replacement,_index,tagName)},"~(\\*|[\\w-]+)":function(match,tagName){var replacement="";if(_wild&&_MSIE){replacement+="if(e%1.nodeName!='!'){"}_wild=false;_duplicate=2;replacement+="while(e%1=e%1.nextSibling){if(e%1.b2_adjacent==_indexed)break;if(";if(tagName=="*"){replacement+="e%1.nodeType==1";if(_MSIE5){replacement+="&&e%1.nodeName!='!'"}}else{replacement+="e%1.nodeName=='%2'[c]()"}replacement+="){e%1.b2_adjacent=_indexed;";return format(replacement,_index,tagName)},"#([\\w-]+)":function(match,id){_wild=false;var replacement="if(e%1.id=='%2'){";if(_list[_group]){replacement+=format("i%1=n%1.length;",sum(_list))}return format(replacement,_index,id)},"\\.([\\w-]+)":function(match,className){_wild=false;_reg.push(new RegExp("(^|\\s)"+rescape(className)+"(\\s|$)"));return format("if(e%1.className&&reg[%2].test(e%1.className)){",_index,_reg.length-1)},":not\\((\\*|[\\w-]+)?([^)]*)\\)":function(match,tagName,filters){var replacement=(tagName&&tagName!="*")?format("if(e%1.nodeName=='%2'[c]()){",_index,tagName):"";replacement+=_parser.exec(filters);return"if(!"+replacement.slice(2,-1).replace(/\)\{if\(/g,"&&")+"){"},":nth(-last)?-child\\(([^)]+)\\)":function(match,last,args){_wild=false;last=format("e%1.parentNode.b2_length",_index);var replacement="if(p%1!==e%1.parentNode)p%1=_register(e%1.parentNode);";replacement+="var i=e%1[p%1.b2_lookup];if(p%1.b2_lookup!='b2_index')i++;if(";return format(replacement,_index)+_nthChild(match,args,"i",last,"!","&&","% ","==")+"){"},":([\\w-]+)(\\(([^)]+)\\))?":function(match,pseudoClass,$2,args){return"if("+format(Selector.pseudoClasses[pseudoClass]||"throw",_index,args||"")+"){"},"\\[\\s*([\\w-]+)\\s*([^=]?=)?\\s*([^\\]\\s]*)\\s*\\]":function(match,attr,operator,value){value=trim(value);if(_MSIE){var getAttribute="Element.getAttribute(e%1,'%2')"}else{getAttribute="e%1.getAttribute('%2')"}getAttribute=format(getAttribute,_index,attr);var replacement=Selector.operators[operator||""];if(instanceOf(replacement,RegExp)){_reg.push(new RegExp(format(replacement.source,rescape(_parser.unescape(value)))));replacement="reg[%2].test(%1)";value=_reg.length-1}return"if("+format(replacement,getAttribute,value)+"){"}};(function(_no_shrink_){var _byId=detect("MSIE[5-7]")?function(document,id){var result=document.all[id]||null;if(!result||result.id==id){return result}for(var i=0;i<result.length;i++){if(result[i].id==id){return result[i]}}return null}:function(document,id){return document.getElementById(id)};var _indexed=1;function _register(element){if(element.rows){element.b2_length=element.rows.length;element.b2_lookup="rowIndex"}else{if(element.cells){element.b2_length=element.cells.length;element.b2_lookup="cellIndex"}else{if(element.b2_indexed!=_indexed){var index=0;var child=element.firstChild;while(child){if(child.nodeType==1&&child.nodeName!="!"){child.b2_index=++index}child=child.nextSibling}element.b2_length=index;element.b2_lookup="b2_index"}}}element.b2_indexed=_indexed;return element}Selector.parse=function(selector,simple){var cache=simple?_simple:_cache;if(!cache[selector]){if(!_parser.exec){_parser=new CSSParser(_parser)}_reg=[];_list=[];var fn="";var selectors=_parser.escape(selector,simple).split(",");for(_group=0;_group<selectors.length;_group++){_wild=_index=_list[_group]=0;_duplicate=selectors.length>1?2:0;var block=_parser.exec(selectors[_group])||"throw;";if(_wild&&_MSIE){block+=format("if(e%1.tagName!='!'){",_index)}var store=(_duplicate>1)?_TEST:"";block+=format(store+_STORE,_index,"%2");block+=Array(match(block,/\{/g).length+1).join("}");fn+=block}fn=_parser.unescape(fn);if(selectors.length>1){fn+="r.unsorted=1;"}var args="";var state=[];var total=sum(_list);for(var i=1;i<=total;i++){args+=",a"+i;state.push("i"+i+"?(i"+i+"-1):0")}if(total){var complete=[],k=0;for(var i=0;i<_group;i++){k+=_list[i];if(_list[i]){complete.push(format("n%1&&i%1==n%1.length",k))}}}fn+="_query.state=[%2];_query.complete=%3;return s==1?null:r}";eval(format(_FN+fn,args,state.join(","),total?complete.join("&&"):true,_reg));cache[selector]=_query}return cache[selector]}})();var StaticNodeList=Base.extend({constructor:function(nodes){nodes=nodes||[];this.length=nodes.length;this.item=function(index){if(index<0){index+=this.length}return nodes[index]};if(nodes.unsorted){nodes.sort(_SORTER)}},length:0,forEach:function(block,context){for(var i=0;i<this.length;i++){block.call(context,this.item(i),i,this)}},item:Undefined,not:function(test,context){return this.filter(not(test),context)},slice:function(start,end){return new StaticNodeList(this.map(I).slice(start,end))},"@(XPathResult)":{constructor:function(nodes){if(nodes&&nodes.snapshotItem){this.length=nodes.snapshotLength;this.item=function(index){if(index<0){index+=this.length}return nodes.snapshotItem(index)}}else{this.base(nodes)}}}});StaticNodeList.implement(Enumerable);var _matchesSelector=function(test,context){if(typeof test!="function"){test=bind("test",new Selector(test))}return this.base(test,context)};StaticNodeList.implement({every:_matchesSelector,filter:_matchesSelector,not:_matchesSelector,some:_matchesSelector});StaticNodeList.implement({filter:function(test,context){return new StaticNodeList(this.base(test,context))}});var _SORTER=_INDEXED?function(node1,node2){return node1.sourceIndex-node2.sourceIndex}:function(node1,node2){return(Node.compareDocumentPosition(node1,node2)&2)-1};Document.implement(DocumentSelector);Element.implement(ElementSelector);var HTMLDocument=Document.extend(null,{bind:function(document){DocumentState.createState(document);return this.base(document)}});var HTMLElement=Element.extend(null,{bindings:{},tags:"*",bind:function(element){if(!element.classList){element.classList=new _ElementClassList(element)}if(!element.ownerDocument){element.ownerDocument=Traversal.getOwnerDocument(element)}return this.base(element)},extend:function(){var binding=base(this,arguments);forEach.csv(binding.tags,function(tagName){HTMLElement.bindings[tagName]=binding});return binding}});HTMLElement.extend(null,{tags:"APPLET,EMBED",bind:I});var ClassList=Module.extend({add:function(element,token){if(!this.has(element,token)){element.className+=(element.className?" ":"")+token}},has:function(element,token){var regexp=new RegExp("(^|\\s)"+token+"(\\s|$)");return regexp.test(element.className)},remove:function(element,token){var regexp=new RegExp("(^|\\s)"+token+"(\\s|$)","g");element.className=trim(element.className.replace(regexp,"$2"))},toggle:function(element,token){this[this.has(element,token)?"remove":"add"](element,token)}});function _ElementClassList(element){this.add=function(token){ClassList.add(element,token)};this.has=function(token){return ClassList.has(element,token)};this.remove=function(token){ClassList.remove(element,token)}}_ElementClassList.prototype.toggle=function(token){this[this.has(token)?"remove":"add"](token)};var DocumentState=Base.extend({constructor:function(document){this.document=document;this.events={};this._hoverElement=document.documentElement;this.isBound=function(){return !!DOM.bind[document.base2ID]};forEach(this,function(method,name,documentState){if(/^on((DOM)?\w+|[a-z]+)$/.test(name)){documentState.registerEvent(name.slice(2))}})},includes:function(element,target){return target&&(element==target||Traversal.contains(element,target))},hasFocus:function(element){return element==this._focusElement},isActive:function(element){return this.includes(element,this._activeElement)},isHover:function(element){return this.includes(element,this._hoverElement)},handleEvent:function(event){return this["on"+event.type](event)},onblur:function(event){delete this._focusElement},onmouseover:function(event){this._hoverElement=event.target},onmouseout:function(event){delete this._hoverElement},onmousedown:function(event){this._activeElement=event.target},onfocus:function(event){this._focusElement=event.target},onmouseup:function(event){delete this._activeElement},registerEvent:function(type){this.document.addEventListener(type,this,true);this.events[type]=true},"@(document.activeElement===undefined)":{constructor:function(document){this.base(document);if(this.isBound()){document.activeElement=document.body}},onfocus:function(event){this.base(event);if(this.isBound()){this.document.activeElement=this._focusElement}},onblur:function(event){this.base(event);if(this.isBound()){this.document.activeElement=this.document.body}}},"@!(element.addEventListener)":{constructor:function(document){this.base(document);var dispatcher=new EventDispatcher(this);this._dispatch=function(event){event.target=event.target||event.srcElement||document;dispatcher.handleEvent(event)};this.handleEvent=function(event){if(this["on"+event.type]){this["on"+event.type](event)}return dispatcher.handleEvent(event)}},registerEvent:function(type,target){var events=this.events[type];var canDelegate=_CAN_DELEGATE.test(type);if(!events||!canDelegate){if(!events){events=this.events[type]={}}if(canDelegate||!target){target=this.document}var state=this;target["on"+type]=function(event){if(!event){event=Traversal.getDefaultView(this).event}if(event){state.handleEvent(event)}}}return events},"@MSIE.+win":{constructor:function(document){this.base(document);var forms={};this._registerForm=function(form){var formID=assignID(form);if(!forms[formID]){forms[formID]=true;form.attachEvent("onsubmit",this._dispatch);form.attachEvent("onreset",this._dispatch)}}},fireEvent:function(type,event){event=copy(event);event.type=type;this.handleEvent(event)},registerEvent:function(type,target){var events=this.events[type];var canDelegate=_CAN_DELEGATE.test(type);if(!events||!canDelegate){if(!events){events=this.events[type]={}}if(canDelegate||!target){target=this.document}var state=this;target.attachEvent("on"+type,function(event){event.target=event.srcElement||state.document;state.handleEvent(event);if(state["after"+type]){state["after"+type](event)}})}return events},onDOMContentLoaded:function(event){forEach(event.target.forms,this._registerForm,this);this.setFocus(this.document.activeElement)},onmousedown:function(event){this.base(event);this._button=event.button},onmouseup:function(event){this.base(event);if(this._button==null){this.fireEvent("mousedown",event)}delete this._button},aftermouseup:function(){if(this._selectEvent){this._dispatch(this._selectEvent);delete this._selectEvent}},onfocusin:function(event){this.setFocus(event.target);this.onfocus(event)},setFocus:function(target){var change=this.events.change,select=this.events.select;if(change||select){var dispatch=this._dispatch;if(change){target.attachEvent("onchange",dispatch)}if(select){var state=this;var onselect=function(event){if(state._activeElement==target){state._selectEvent=copy(event)}else{dispatch(event)}};target.attachEvent("onselect",onselect)}target.attachEvent("onblur",function(){target.detachEvent("onblur",arguments.callee);if(change){target.detachEvent("onchange",dispatch)}if(select){target.detachEvent("onselect",onselect)}})}},onfocusout:function(event){this.onblur(event)},onclick:function(event){var target=event.target;if(target.form){this._registerForm(target.form)}},ondblclick:function(event){this.fireEvent("click",event)}}}},{init:function(){assignID(document);DocumentState=this;this.createState(document);new DOMContentLoadedEvent(document)},createState:function(document){var base2ID=document.base2ID;if(!this[base2ID]){this[base2ID]=new this(document)}return this[base2ID]},getInstance:function(target){return this[Traversal.getDocument(target).base2ID]}});eval(this.exports)};if(!this.JSON){JSON=function(){function f(n){return n<10?"0"+n:n}Date.prototype.toJSON=function(key){return this.getUTCFullYear()+"-"+f(this.getUTCMonth()+1)+"-"+f(this.getUTCDate())+"T"+f(this.getUTCHours())+":"+f(this.getUTCMinutes())+":"+f(this.getUTCSeconds())+"Z"};var cx=/[\u0000\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,escapeable=/[\\\"\x00-\x1f\x7f-\x9f\u00ad\u0600-\u0604\u070f\u17b4\u17b5\u200c-\u200f\u2028-\u202f\u2060-\u206f\ufeff\ufff0-\uffff]/g,gap,indent,meta={"\b":"\\b","\t":"\\t","\n":"\\n","\f":"\\f","\r":"\\r",'"':'\\"',"\\":"\\\\"},rep;function quote(string){escapeable.lastIndex=0;return escapeable.test(string)?'"'+string.replace(escapeable,function(a){var c=meta[a];if(typeof c==="string"){return c}return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4)})+'"':'"'+string+'"'}function str(key,holder){var i,k,v,length,mind=gap,partial,value=holder[key];if(value&&typeof value==="object"&&typeof value.toJSON==="function"){value=value.toJSON(key)}if(typeof rep==="function"){value=rep.call(holder,key,value)}switch(typeof value){case"string":return quote(value);case"number":return isFinite(value)?String(value):"null";case"boolean":case"null":return String(value);case"object":if(!value){return"null"}gap+=indent;partial=[];if(typeof value.length==="number"&&!(value.propertyIsEnumerable("length"))){length=value.length;for(i=0;i<length;i+=1){partial[i]=str(i,value)||"null"}v=partial.length===0?"[]":gap?"[\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"]":"["+partial.join(",")+"]";gap=mind;return v}if(rep&&typeof rep==="object"){length=rep.length;for(i=0;i<length;i+=1){k=rep[i];if(typeof k==="string"){v=str(k,value,rep);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}else{for(k in value){if(Object.hasOwnProperty.call(value,k)){v=str(k,value,rep);if(v){partial.push(quote(k)+(gap?": ":":")+v)}}}}v=partial.length===0?"{}":gap?"{\n"+gap+partial.join(",\n"+gap)+"\n"+mind+"}":"{"+partial.join(",")+"}";gap=mind;return v}}return{stringify:function(value,replacer,space){var i;gap="";indent="";if(space){if(typeof space==="number"){for(i=0;i<space;i+=1){indent+=" "}}else{if(typeof space==="string"){indent=space}}}rep=replacer;if(replacer&&typeof replacer!=="function"&&(typeof replacer!=="object"||typeof replacer.length!=="number")){throw new Error("JSON.stringify")}return str("",{"":value})},parse:function(text,reviver){var j;function walk(holder,key){var k,v,value=holder[key];if(value&&typeof value==="object"){for(k in value){if(Object.hasOwnProperty.call(value,k)){v=walk(value,k);if(v!==undefined){value[k]=v}else{delete value[k]}}}}return reviver.call(holder,key,value)}cx.lastIndex=0;if(cx.test(text)){text=text.replace(cx,function(a){return"\\u"+("0000"+(+(a.charCodeAt(0))).toString(16)).slice(-4)})}if(/^[\],:{}\s]*$/.test(text.replace(/\\["\\\/bfnrtu]/g,"@").replace(/"[^"\\\n\r]*"|true|false|null|-?\d+(?:\.\d*)?(?:[eE][+\-]?\d+)?/g,"]").replace(/(?:^|:|,)(?:\s*\[)+/g,""))){j=eval("("+text+")");return typeof reviver==="function"?walk({"":j},""):j}throw new SyntaxError("JSON.parse")}}}()}base2.DOM.bind(document);base2.DOM.bind(window);base2.JavaScript.bind(window);base2.JavaScript.Array2(Array.prototype);function extend_object(a,c){for(var b in c){a[b]=c[b]}return a}function remove(){for(var a=0,b;b=arguments[a];a++){if(b&&b.parentNode){b.parentNode.removeChild(b)}}}Function.prototype.bindAsEventListener=function(a){var c=this;var b=Array.prototype.slice.call(arguments,0);return function(d){return c.apply(a,[d||window.event].concat(b))}};Function.prototype.bind=function(a){var c=this;var b=Array.prototype.slice.call(arguments,1);return function(){return c.apply(a,b.concat(Array.prototype.slice.call(arguments,0)))}};function resizeBottom(){height=0;if(window.innerHeight){height=window.innerHeight}else{if(document.documentElement&&document.documentElement.clientHeight){height=document.documentElement.clientHeight}else{height=document.body.clientHeight}}var a=document.querySelector("#bottom");new_height=(height-a.offsetTop);if(new_height!="undefined"&&new_height>40){a.style.height=new_height+"px"}else{a.style.height="40px"}}var userAgent=navigator.userAgent.toLowerCase();var Ajax=base2.Base.extend({lastModified:{},browser:{version:(userAgent.match(/.+(?:rv|it|ra|ie)[\/: ]([\d.]+)/)||[])[1],safari:/webkit/.test(userAgent),opera:/opera/.test(userAgent),msie:/msie/.test(userAgent)&&!/opera/.test(userAgent),mozilla:/mozilla/.test(userAgent)&&!/(compatible|webkit)/.test(userAgent)},constructor:function(a){this.options={url:location.href,method:"GET",timeout:0,async:true,contentType:"application/x-www-form-urlencoded",processData:true,data:null,username:null,password:null,accepts:{xml:"application/xml, text/xml",html:"text/html",script:"text/javascript, application/javascript",json:"application/json, text/javascript",text:"text/plain",_default:"*/*"}};extend_object(this.options,a||{})},get:function(a,c,d,b){if(typeof c=="function"){d=c;c=null}return this.request({method:"GET",url:a,data:c,success:d,dataType:b})},post:function(a,c,d,b){if(typeof c=="function"){d=c;c=null}return this.request({method:"POST",url:a,data:c,success:d,dataType:b})},request:function(o){extend_object(Ajax.options,o||{});extend_object(o,Ajax.options);var f,g,a=o.method.toUpperCase();if(o.data&&o.processData&&typeof o.data!="string"){o.data=Ajax.param(o.data)}if(o.cache===false&&a=="GET"){var j=now();var i=o.url.replace(/(\?|&)_=.*?(&|$)/,"$1_="+j+"$2");o.url=i+((i==o.url)?(o.url.match(/\?/)?"&":"?")+"_="+j:"")}if(o.data&&a=="GET"){o.url+=(o.url.match(/\?/)?"&":"?")+o.data;o.data=null}Ajax.active++;var c=/^(?:\w+:)?\/\/([^\/?#]+)/;var d=false;var n=window.ActiveXObject?new ActiveXObject("Microsoft.XMLHTTP"):new XMLHttpRequest();if(o.username){n.open(a,o.url,o.async,o.username,o.password)}else{n.open(a,o.url,o.async)}try{if(o.data){n.setRequestHeader("Content-Type",o.contentType)}if(o.ifModified){n.setRequestHeader("If-Modified-Since",Ajax.lastModified[o.url]||"Thu, 01 Jan 1970 00:00:00 GMT")}n.setRequestHeader("X-Requested-With","XMLHttpRequest");n.setRequestHeader("Accept",o.dataType&&o.accepts[o.dataType]?o.accepts[o.dataType]+", */*":o.accepts._default)}catch(h){}if(o.beforeSend&&o.beforeSend(n,o)===false){Ajax.active--;n.abort();return false}var l=function(p){if(!d&&n&&(n.readyState==4||p=="timeout")){d=true;if(k){clearInterval(k);k=null}f=p=="timeout"&&"timeout"||!Ajax.httpSuccess(n)&&"error"||o.ifModified&&Ajax.httpNotModified(n,o.url)&&"notmodified"||"success";if(f=="success"){try{g=Ajax.httpData(n,o.dataType,o.dataFilter)}catch(r){f="parsererror"}}if(f=="success"){var q;try{q=n.getResponseHeader("Last-Modified")}catch(r){}if(o.ifModified&&q){Ajax.lastModified[o.url]=q}m()}else{Ajax.handleError(o,n,f)}b();if(o.async){n=null}}};if(o.async){var k=setInterval(l,13);if(o.timeout>0){setTimeout(function(){if(n){n.abort();if(!d){l("timeout")}}},o.timeout)}}try{n.send(o.data)}catch(h){Ajax.handleError(o,n,null,h)}if(!o.async){l()}function m(){if(o.success){o.success(g,f)}}function b(){if(o.complete){o.complete(n,f)}--Ajax.active}return n},handleError:function(b,d,a,c){if(b.error){b.error(d,a,c)}},active:0,httpSuccess:function(b){try{return !b.status&&location.protocol=="file:"||(b.status>=200&&b.status<300)||b.status==304||b.status==1223||Ajax.browser.safari&&b.status==undefined}catch(a){}return false},httpNotModified:function(c,a){try{var d=c.getResponseHeader("Last-Modified");return c.status==304||d==this.lastModified[a]||Ajax.browser.safari&&c.status==undefined}catch(b){}return false},httpData:function(f,d,c){var b=f.getResponseHeader("content-type"),a=d=="xml"||!d&&b&&b.indexOf("xml")>=0,e=a?f.responseXML:f.responseText;if(a&&e.documentElement.tagName=="parsererror"){throw"parsererror"}if(c){e=c(e,d)}if(d=="json"){e=JSON.parse(e)}return e},param:function(b){var d=[];if(b.constructor==Array){b.forEach(function(e,a,f){d.push(encodeURIComponent(e.name)+"="+encodeURIComponent(e.value))})}else{for(var c in b){if(b[c]&&b[c].constructor==Array){b[c].forEach(function(e,a,f){d.push(encodeURIComponent(c)+"="+encodeURIComponent(e))})}else{d.push(encodeURIComponent(c)+"="+encodeURIComponent((typeof b[c]=="function"?b[c]():b[c])))}}}return d.join("&").replace(/%20/g,"+")}});window.Ajax=new Ajax();

static/js/friendpaste.js

+var Resizeable=base2.Base.extend({min_height:300,constructor:function(c){var b=this;var a=document.createElement("div");a.className="grippie";a.style.cursor="row-resize";base2.DOM.bind(a);document.querySelectorAll(c).forEach(function(d){d.parentNode.appendChild(a);a.addEventListener("mousedown",function(f){f.preventDefault();f.stopPropagation();b.handleResize(f,d);return false},false)})},handleResize:function(g,c){var a=this;var h=c;var i={x:g.screenX,y:g.screenY};var d={width:h.offsetWidth,height:h.offsetHeight};var f=function(k){k.preventDefault();var l=k.screenY-i.y;if(l){var j=d.height+l;if(j>a.min_height){h.style.height=j+"px";d.height=j;i.y=k.screenY}}return false};var b=function(j){document.removeEventListener("mousemove",f,false);this.removeEventListener("mouseup",arguments.callee,false);return false};document.addEventListener("mousemove",f,false);document.addEventListener("mouseup",b,false)}});var Friendpaste=base2.Base.extend({snippet:null,snippet_edit:null,constructor:function(){var a=this;var c=document.querySelector(".e");var b=document.querySelectorAll(".cancel");var d=document.querySelector(".show-history");if(c){c.addEventListener("click",this.do_edit.bindAsEventListener(this),false)}if(b){b.forEach(function(e){e.addEventListener("click",a.do_cancel.bindAsEventListener(a),false)})}if(d){d.addEventListener("click",this.do_history.bindAsEventListener(this),false)}this.snippet=document.querySelector("#snippet_view");this.snippet_edit=document.querySelector("#snippet_edit");this.revisions=document.querySelector("#revisions");this.bdelete=document.querySelector("#snippet_actions li.delete");if(this.bdelete!=null){this.block=document.querySelector("#snippet_actions li.lock");this.adelete=document.querySelector("#snippet_actions li.delete a");this.alock=document.querySelector("#snippet_actions li.lock a");this._deleteListener=function(f){f.preventDefault();this.removeEventListener("click",arguments.callee,false);a.alock.removeEventListener("click",a._lockListener,false);a.block.classList.add("disabled");a.deletePaste()};this._lockListener=function(f){f.preventDefault();this.removeEventListener("click",arguments.callee,false);a.adelete.removeEventListener("click",a._deleteListener,false);a.bdelete.classList.add("disabled");a.lockPaste()};this.listenPasteActions()}this.editing=false;this.show_history=false;if(!base2.detect("webkit")){new Resizeable("#paste_snippet")}this.setSettings();document.querySelector("#change-theme").addEventListener("change",this.setTheme.bindAsEventListener(this),false);document.querySelector("#show-linenos").addEventListener("click",this.toggleLineNumber.bindAsEventListener(this),false)},listenPasteActions:function(){this.adelete.addEventListener("click",this._deleteListener,false);this.alock.addEventListener("click",this._lockListener,false)},deletePaste:function(){var b=this;var c=this.formPassword("delete","Delete paste");var a=base2.DOM.bind(this.adelete.parentNode);this.adelete.style.display="none";a.appendChild(c);a.querySelector("input.ano").addEventListener("click",function(d){d.preventDefault();this.removeEventListener("click",arguments.callee,false);b.adelete.style.display="inline";b.block.classList.remove("disabled");remove(c);b.listenPasteActions()},false);return false},lockPaste:function(){var b=this;if(!this.snippet_edit){var c=this.formPassword("unlock","Unlock paste")}else{var c=this.formPassword("lock","Lock paste")}var a=base2.DOM.bind(this.alock.parentNode);a.appendChild(c);this.alock.style.display="none";a.querySelector("input.ano").addEventListener("click",function(d){d.preventDefault();this.removeEventListener("click",arguments.callee,false);b.alock.style.display="inline";b.bdelete.classList.remove("disabled");remove(c);b.listenPasteActions()},false);return false},formPassword:function(a,b){url="/"+snippet_id+"/"+a;form=document.createElement("form");form.className="fsnippet_action";form.action=url;form.method="POST";h4=document.createElement("h4");h4.appendChild(document.createTextNode(b));form.appendChild(h4);p=document.createElement("p");p.appendChild(document.createTextNode("Enter code entered when you create the paste to confirm:"));form.appendChild(p);label=document.createElement("label");label.setAttribute("for","edit_code");label.appendChild(document.createTextNode("Code: "));form.appendChild(label);input=document.createElement("input");input.type="password";input.name="edit_code";input.className="password";form.appendChild(input);submit=document.createElement("input");submit.name="f"+a;submit.type="submit";submit.value=a.substring(0,1).toUpperCase()+a.substring(1,a.length);submit.className="ayes";form.appendChild(submit);cancel=document.createElement("input");cancel.type="submit";cancel.value="Cancel";cancel.className="ano";form.appendChild(cancel);return form},handleSnippetAction:function(a){},do_edit:function(a){a.preventDefault();this._edit();return false},_edit:function(){this.snippet.classList.add("hidden");this.snippet_edit.classList.remove("hidden");this.editing=true;resizeBottom()},do_cancel:function(a){a.preventDefault();this._cancel();return false},_cancel:function(){this.editing=false;if(this.snippet_edit&&!this.snippet_edit.classList.has("hidden")){this.snippet_edit.classList.add("hidden")}if(!this.revisions.classList.has("hidden")){this.revisions.classList.add("hidden")}this.snippet.classList.remove("hidden");resizeBottom()},toggleLineNumber:function(a){document.querySelector("#paste").classList.toggle("hidenos");this.saveSettings()},setSettings:function(){Ajax.request({url:"/settings",dataType:"json",contentType:"application/json",method:"GET",success:function(a){showlineos=a.settings["showlinenos"];if(typeof(showlineos)!="undefined"){document.querySelector("#show-linenos").checked=a.settings["showlinenos"];if(!a.settings["showlinenos"]){document.querySelector("#paste").classList.add("hidenos")}}if(typeof(a.settings["theme"])!="undefined"&&a.settings["theme"]){theme=a.settings["theme"]}else{theme="default"}document.querySelector("#change-theme").value=theme;document.querySelectorAll('link[rel="stylesheet"][title]').forEach(function(b){if(b.getAttribute("title")=="syntax_theme"){b.href="/static/css/"+theme+".css"}})}})},saveSettings:function(){var c=document.querySelector("#factions");var b=true;var a=document.querySelector("#show-linenos:checked");if(!a){b=false}Ajax.request({url:c.action,dataType:"json",contentType:"application/json",method:"POST",data:this.toJSON({theme:document.querySelector("#change-theme").value,showlinenos:b}),success:function(d){}})},setTheme:function(b){var a=b.target.value;document.querySelectorAll('link[rel="stylesheet"][title]').forEach(function(c){if(c.getAttribute("title")=="syntax_theme"){c.href="/static/css/"+a+".css"}});this.saveSettings()},do_history:function(b){b.preventDefault();this.show_history=true;url="/"+snippet_id+"/revisions";if(typeof(revid)!="undefined"){url=url+"?rev="+revid}var a=this;Ajax.get(url,null,function(e,c){document.querySelector(".pasteHistory").innerHTML="";var d="";e.forEach(function(g,f){d+='<tr><td><time title="GMT" datetime="'+g.updated+'">'+g.updated+'</time></td><td class="rev">rev. <a href=\'/'+g.pasteid+"?rev="+g.nb_revision+"'>"+g.nb_revision+'</a></td><td class="changeset"><a href=\'/'+g.pasteid+"/changeset?rev="+g.nb_revision+"'>Diff</a></td><td class=\"view-rev\"><a href='/"+g.pasteid+"?rev="+g.nb_revision+"'>View</a></td></tr>"});d='<table class="revisionstable">'+d+"</table>";document.querySelector(".pasteHistory").innerHTML=d;a.snippet.classList.add("hidden");a.revisions.classList.remove("hidden");resizeBottom()},"json");return false},toJSON:function(a){return a!==null?JSON.stringify(a):null}});var Diff=base2.Base.extend({constructor:function(){this.sourcetable=document.querySelector(".sourceTable");this.difftabular=document.querySelector(".difftabular");this.switcher=document.querySelector("#switch");this.sourcetable.classList.add("hidden");this.switcher.innerHTML='<span class="stab active">Tabular</span><span class="suni">Unified</span>';this.stab=this.switcher.querySelector(".stab");this.suni=this.switcher.querySelector(".suni");var a=this;this.stab.addEventListener("click",this.setTabular.bindAsEventListener(this),false);this.suni.addEventListener("click",this.setUnified.bindAsEventListener(this),false);this.setSettings();document.querySelector("#show-linenos").addEventListener("click",this.toggleLineNumber.bindAsEventListener(this),false)},setTabular:function(a){a.preventDefault();if(!this.sourcetable.classList.has("hidden")){this.sourcetable.classList.add("hidden")}this.difftabular.classList.remove("hidden");this.suni.classList.remove("active");this.stab.classList.add("active");resizeBottom()},setUnified:function(a){a.preventDefault();if(!this.difftabular.classList.has("hidden")){this.difftabular.classList.add("hidden")}this.sourcetable.classList.remove("hidden");this.stab.classList.remove("active");this.suni.classList.add("active");resizeBottom()},toggleLineNumber:function(a){document.querySelector("#paste").classList.toggle("hidenos");this.saveSettings()},setSettings:function(){Ajax.request({url:"/settings",dataType:"json",contentType:"application/json",method:"GET",success:function(a){document.querySelector("#show-linenos").checked=a.settings["showlinenos"];if(!a.settings["showlinenos"]){document.querySelector("#paste").classList.add("hidenos")}}})},saveSettings:function(){var c=document.querySelector("#factions");var b=true;var a=document.querySelector("#show-linenos:checked");if(!a){b=false}Ajax.request({url:c.action,dataType:"json",contentType:"application/json",method:"POST",data:this.toJSON({showlinenos:b}),success:function(d){}})}});

templates/base.html

     {% if DEBUG %}
     <link rel="stylesheet" href="/static/css/src/debug.css" type="text/css" />
     {% else %}
-    <link rel="stylesheet" href="/static/css/screen.css?20081115" type="text/css" media="screen, projection" />
-    <link rel="stylesheet" href="/static/css/print.css?20081115" type="text/css" media="print" /> 
+    <link rel="stylesheet" href="/static/css/screen.css?20081122" type="text/css" media="screen, projection" />
+    <link rel="stylesheet" href="/static/css/print.css?20081122" type="text/css" media="print" /> 
     {% endif %}
     <!--[if IE]>
         <link rel="stylesheet" href="/static/css/ie.css?20081115" type="text/css" media="screen, projection" />
     <script type="text/javascript" src="/static/js/src/ajax.js"></script>
     {% else %}
     <script type="text/javascript"
-        src="/static/js/friendpaste-libs.js?20081115"></script>
+        src="/static/js/friendpaste-libs.js?20081122"></script>
     {% endif %}
     <script>
         resizeBottom();

templates/paste/diff.html

 <script type="text/javascript" src="/static/js/src/friendpaste.js"></script>
 <script type="text/javascript" src="/static/js/src/diff.js"></script>
 {% else %}
-<script type="text/javascript" src="/static/js/friendpaste.js?20081115"></script>
+<script type="text/javascript" src="/static/js/friendpaste.js?20081122"></script>
 {% endif %}
 <script type="text/javascript">
     new Diff();

templates/paste/index.html

 <script type="text/javascript" src="/static/js/src/resizeable.js"></script>
 <script type="text/javascript" src="/static/js/src/friendpaste.js"></script>
 {% else %}
-<script type="text/javascript" src="/static/js/friendpaste.js?20081115"></script>
+<script type="text/javascript" src="/static/js/friendpaste.js?20081122"></script>
 {% endif %}
 
 <script type="text/javascript">

templates/paste/view.html

 <script type="text/javascript" src="/static/js/src/resizeable.js"></script>
 <script type="text/javascript" src="/static/js/src/friendpaste.js"></script>
 {% else %}
-<script type="text/javascript" src="/static/js/friendpaste.js?20081115"></script>
+<script type="text/javascript" src="/static/js/friendpaste.js?20081122"></script>
 {% endif %}
 <script type="text/javascript">
     new Friendpaste();