<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array"/>
  <modified type="array">
    <modified>
      <diff>@@ -14,8 +14,8 @@ var ex03 = {
 	template:'div.friends',
 	directive:{
 		'.who':'who2.name',
-		'.who[title]':'See the tweets of #{who2.twitter}',
-		'.who[href]+':'who2.twitter'
+		'.who@title':'See the tweets of #{who2.twitter}',
+		'.who@href+':'who2.twitter'
 	},
 	data:{
 		friend:[
@@ -40,15 +40,15 @@ var ex04 = {
 	directive:{
 		'tbody tr':{
 			'player&lt;-players':{
-				'[class]':function(arg){
+				'@class':function(arg){
 					//arg =&gt; {data:data, items:items, pos:pos, item:items[pos]};
 					var oddEven = (arg.pos % 2 == 0) ? 'even' : 'odd';
 					var firstLast = (arg.pos == 0) ? 'first' : (arg.pos == arg.player.items.length - 1) ? 'last' : '';
 					return oddEven + ' ' + firstLast;
 				},
 				'td':'player',
-				'td[style]': '&quot;cursor:pointer&quot;',
-				'td[onclick]':'&quot;clickLine(this);&quot;'
+				'td@style': '&quot;cursor:pointer&quot;',
+				'td@onclick':'&quot;clickLine(this);&quot;'
 			}
 		}
 	},
@@ -83,7 +83,7 @@ var ex05 = {
 		},
 		'td':{
 			'col&lt;-cols':{
-				'[class]':'col'
+				'@class':'col'
 			}
 		}
 	},
@@ -138,7 +138,7 @@ var ex06 = {
 							function(arg){
 								return arg.pos + 1;
 						},
-						'[class]+':
+						'@class+':
 							function(arg){
 								return (arg.player.pos % 2 == 1) ? ' odd' : ' even';
 						}
@@ -179,7 +179,7 @@ var ex07 = {
 		'li': {
 			'child &lt;- children': {
 				'a': 'child.name',
-				'a[onclick]':'alert(\'#{child.name}\');',
+				'a@onclick':'alert(\'#{child.name}\');',
 				'div.children': function(ctxt){
 					return ctxt.child.item.children ? ex07.rfn(ctxt.child.item):'';
 				}
@@ -267,7 +267,7 @@ var ex09 = function() {
 			},
 			'td':{
 				&quot;c&lt;-column&quot;:{
-					&quot;[class]&quot;:&quot;c&quot;
+					&quot;@class&quot;:&quot;c&quot;
 				}
 			}
 		},
@@ -281,7 +281,7 @@ var ex09 = function() {
 						return Math.floor(parseFloat(a.item.Change) / parseFloat(a.item.LastTradePriceOnly) * 1000000) / 10000 + ' %';
 					},
 					&quot;td.price&quot;:&quot;q.LastTradePriceOnly&quot;,
-					&quot;td[class]+&quot;:function(a){
+					&quot;td@class+&quot;:function(a){
 						return (/^-/).test(a.item.Change) ? ' red' : ' green';
 					}
 				}
@@ -290,6 +290,7 @@ var ex09 = function() {
 	};
 
 	var TEMPLATE = $p( WI.template ).render( WI.header, WI.directivehead ).compile( WI.directivebody );
+
 	doYQL(YQL_QUERY,true,null);
 
 	window.showQuotes = function(data){</diff>
      <filename>js/examples.js</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@
 	Copyright (c) 2009 Michael Cvilic - BeeBole.com
 
 	Thanks to Rog Peppe for the functional JS jump
-	revision: 2.07
+	revision: 2.08
 
 * * * * * * * * * * * * * * * * * * * * * * * * * */
 
@@ -43,8 +43,10 @@ $p.core = function(sel, ctxt, plugins){
 
 	// set the signature string that will be replaced at render time
 	var Sig = '_s' + Math.floor( Math.random() * 1000000 ) + '_',
-	// another signature to prepend to special attributes: style, height, ...
-		specAttr = '_a' + Math.floor( Math.random() * 1000000 ) + '_';
+		// another signature to prepend to special attributes: style, height, ...
+		specAttr = '_a' + Math.floor( Math.random() * 1000000 ) + '_',
+		// rx to parse selectors, e.g. &quot;+tr.foo[class]&quot;
+		selRx = /^(\+)?([^\@\+]+)?\@?([^\+]+)?(\+)?$/;
 	
 	return plugins;
 
@@ -246,18 +248,17 @@ $p.core = function(sel, ctxt, plugins){
 		var osel, prepend, selector, attr, append, target = [];
 		if( typeof sel === 'string' ){
 			osel = sel;
-			// e.g. &quot;+tr.foo[class]&quot;
-			var m = sel.match(/^\s*([\+=])?(((\+[^\[])|[^\[\+])*)(\[([^\]]*)\])?([\+=])?\s*$/);
+			var m = sel.match(selRx);
 			if( !m ){
-				error( 'bad selector: ' + sel );
+				error( 'bad selector syntax: ' + sel );
 			}
 			
 			prepend = m[1];
 			selector = m[2];
-			attr = m[6];
-			append = m[7];
+			attr = m[3];
+			append = m[4];
 			
-			if(selector === '.' || ( selector === '' &amp;&amp; typeof attr !== 'undefined' ) ){
+			if(selector === '.' || ( typeof selector === 'undefined' &amp;&amp; typeof attr !== 'undefined' ) ){
 				target[0] = dom;
 			}else{
 				target = plugins.find(dom, selector);
@@ -443,7 +444,7 @@ $p.core = function(sel, ctxt, plugins){
 		
 		function checkClass(c){
 			// read the class
-			var ca = c.match(/^(\+)?([^\@\+]+)\@?(\w+)?(\+)?$/),
+			var ca = c.match(selRx),
 				cspec = {prepend:!!ca[1], prop:ca[2], attr:ca[3], append:!!ca[4], sel:c},
 				val = isArray(data) ? data[0][cspec.prop] : data[cspec.prop],
 				i, ii, loopi;
@@ -466,8 +467,6 @@ $p.core = function(sel, ctxt, plugins){
 			if(typeof val === 'undefined'){
 				return false;
 			}
-			// format the selection, directive like
-			cspec.sel = (ca[1]||'') + cspec.prop + (c.indexOf('@') &gt; -1 ? ('[' + cspec.attr + ']'):'') + (ca[4]||'');
 			// set the data type and details
 			if(isArray(val)){
 				openLoops.a.push({l:val, p:cspec.prop});</diff>
      <filename>libs/pure2.js</filename>
    </modified>
    <modified>
      <diff>@@ -8,7 +8,7 @@
     Copyright (c) 2009 Michael Cvilic - BeeBole.com
 
 	Thanks to Rog Peppe for the functional JS jump
-    revision: 2.05
+    revision: 2.08
 
 * * * * * * * * * * * * * * * * * * * * * * * * * */
-eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('8 $p=28=5(){8 a=29[0],1I=Q;z(A a===\'16\'){1I=29[1]||Q}y $p.2a(a,1I)};$p.2a=5(q,r,u){8 u=2b(),19=[];z(A q===\'16\'){19=u.K(r||G,q)}D z(A q===\'1J\'){19=[q]}D{L(\'2c 19 2T. 2U 2d V\')}H(8 i=0,R=19.B;i&lt;R;i++){u[i]=19[i]}u.B=R;8 w=\'2V\'+1v.2e(1v.2f()*2W)+\'2X\';8 x;y u;5 L(e){2Y(e);z(A 2g!==\'E\'){2g.2Z(e);30}31(\'28 L: \'+e);}5 2b(){8 a=$p.Z;5 f(){}f.T=a;f.T.J=a.J||J;f.T.M=a.M||M;f.T.N=a.N||N;f.T.K=a.K||K;f.T.32=1l;f.T.33=L;y 2h f()}5 1K(c){y c.1K||(5(a){8 b=G.1a(\'2i\');b.1L(a.2j(14));y b.1w})(c)}5 1M(o){y 34.T.35.2k(o)===&quot;[1J 2l]&quot;}5 1m(b,f){y 5(a){y b(\'\'+f(a))}}5 1N(a,b){b=b||G.36();8 c,1n;H(8 n 1x a){c=G.1a(n);b.1L(c);z(A a[n]===\'1J\'){1n=1N(a[n],c)}D{1n=G.1a(a[n]);c.1L(1n)}}y 1n};5 K(n,a){z(A n===\'16\'){a=n;n=Q}z(A G.2m!==\'E\'){y(n||G).2m(a)}D{L(\'2c 37 V 2n 38 1x 2d 39. 3a 3b 3c 3d 3e a 3f 3g 2o a V 2n.\')}}5 1O(c,d){y 5(a){8 b=[c[0]];8 n=c.B;H(8 i=1;i&lt;n;i++){b[b.B]=d[i](a);b[b.B]=c[i]}y b.2p(\'\')}}5 2q(p){8 m=p.1o(/^(\\w+)\\s*&lt;-\\s*(\\S+)$/);z(m===1b){L(\'1P 1c 2r: &quot;\'+p+\'&quot;\')}y{2s:m[1],11:m[2]}}5 1d(c){z(A(c)===\'5\'){y c}8 m=c.1o(/^(\\w+)(\\.(\\w+))*$/);z(m===1b){8 d=Q,s=c,1y=[],1e=[],i=0;z(/\\\'|\\&quot;/.17(s.2t(0))){z(/\\\'|\\&quot;/.17(s.2t(s.B-1))){8 e=s.2u(1,s.B-1);y 5(){y e}}}D{2v((m=s.1o(/#\\{([^{}]+)\\}/))!==1b){d=14;1y[i++]=s.1Q(0,m.2w);1e[i]=1d(m[1]);s=s.1Q(m.2w+m[0].B,s.B)}}z(!d){L(\'1P 1p V 3h: \'+c)}1y[i]=s;y 1O(1y,1e)}m=c.1R(\'.\');y 5(a){8 b=a.1p;z(!b){y\'\'}8 v=a[m[0]];8 i=0;z(v){b=v.1S;i+=1}8 n=m.B;H(;i&lt;n;i++){z(!(b=b[m[i]])){y\'\'}}y b}}5 1q(c,d,e){8 f,W,V,I,O,X=[];z(A d===\'16\'){f=d;8 m=d.1o(/^\\s*([\\+=])?(((\\+[^\\[])|[^\\[\\+])*)(\\[([^\\]]*)\\])?([\\+=])?\\s*$/);z(!m){L(\'1P V: \'+d)}W=m[1];V=m[2];I=m[6];O=m[7];z(V===\'.\'||(V===\'\'&amp;&amp;A I!==\'E\')){X[0]=c}D{X=u.K(c,V)}z(!X||X.B===0){y{I:1b,P:X,1T:1b,11:f}}}D{W=d.W;I=d.I;O=d.O;X=[c]}z(W||O){z(W&amp;&amp;O){L(\'O/W 1U 3i 3j 3k 3l 3m 3n\')}D z(e){L(\'2x O/W/1f 3o 3p H 1c X\')}D z(O&amp;&amp;e){L(\'1U O 2o 1c (11: \'+f+\')\')}}8 g,1r,12;z(I){1r=5(a){z((/^1g$/i).17(I)){8 b=a.1g.3q;a.3r(\'1g\');y b}D{y a.3s(I)}};g=5(a,s){z((/^1g$/i).17(I)){a.2y(I+1v.2e(1v.2f()*3t),s)}D{a.2y(I,s)}};12=5(s){y s.1f(/\\&quot;/g,\'&amp;3u;\').1f(/&amp;/g,\'&amp;3v;\').1f(/&lt;/g,\'&amp;3w;\').1f(/&gt;/g,\'&amp;3x;\')}}D{z(e){g=5(a,s){8 b=a.1z;z(b){8 t=G.3y(s);a.1z.1V(t,a.3z);a.1z.1W(a)}}}D{1r=5(a){y a.1w};g=5(a,s){a.1w=s}}12=5(s){y s}}8 h;z(W){h=5(a,s){g(a,s+1r(a))}}D z(O){h=5(a,s){g(a,1r(a)+s)}}D{h=5(a,s){g(a,s)}}y{I:I,P:X,1T:h,11:f,12:12}}5 1s(a,n){8 b=w+n+\':\';H(8 i=0;i&lt;a.P.B;i++){a.1T(a.P[i],b)}}5 1X(c,d,e){y 5(b){8 a=d(b),n=(a&amp;&amp;a.B)||0,15={1Y:b.1Y},1Z=[];15[c]={3A:a};H(8 i=0;i&lt;n;i++){15.1p=b.1p;15.2z=15[c].2z=i;15.1S=15[c].1S=a[i];1Z.1A(e(15))}y 1Z.2p(\'\')}}5 20(a,b,c,d){8 e=Q;8 p;H(8 i 1x c){z(c.2A(i)){z(e){L(\'1U 3B 3C 3D 3E 1c 3F a X\')}p=i;e=14}}z(!p){L(\'2x 1c 2r\')}8 f=c[p];z(A(f)===\'16\'||A(f)===\'5\'){c={};c[p]={3G:f};y 20(a,b,c,d)}8 g=2q(p);8 h=1d(g.11);8 j=1q(a,b,14);8 k=j.P;H(i=0;i&lt;k.B;i++){8 l=k[i];8 m=1l(l,f);d[d.B]=1m(j.12,1X(g.2s,h,m));j.P=[l];1s(j,d.B-1)}}5 2B(n,b){8 d=n.3H(\'*\'),21=[],1h={a:[],l:{}},C,i,R,j,1i,1j,1B,22;d=2l.T.1Q.2k(d);d.1A(n);H(i=0,R=d.B;i&lt;R;i++){1j=d[i];z(1j.3I===1&amp;&amp;1j.2C!==\'\'){1B=1j.2C.1R(\' \');H(j=0,1i=1B.B;j&lt;1i;j++){22=1B[j];C=2D(22,b);z(C!==Q){21.1A({n:1j,C:C})}}}}y 21;5 2D(c){8 a=c.1o(/^(\\+)?([^\\@\\+]+)\\@?(\\w+)?(\\+)?$/),C={W:!!a[1],U:a[2],I:a[3],O:!!a[4],11:c},13=1M(b)?b[0][C.U]:b[C.U],i,R,1C;z(A 13===\'E\'){H(i=1h.a.B-1;i&gt;=0;i--){1C=1h.a[i];13=1C.l[0][C.U];z(A 13!==\'E\'){C.U=1C.p+\'.\'+C.U;z(1h.l[C.U]===14){13=13[0]}3J}}}z(A 13===\'E\'){y Q}C.11=(a[1]||\'\')+C.U+(c.2E(\'@\')&gt;-1?(\'[\'+C.I+\']\'):\'\')+(a[4]||\'\');z(1M(13)){1h.a.1A({l:13,p:C.U});1h.l[C.U]=14;C.t=\'1c\'}D{C.t=\'2F\'}y C}}5 1l(a,b,c,d){8 e=[];d=d||c&amp;&amp;2B(a,c);z(c){8 j,1i,C,n,f,P,23,1D,24;2v(d.B&gt;0){C=d[0].C;n=d[0].n;d.3K(0,1);z(C.t===\'2F\'){f=1q(n,C,Q);1s(f,e.B);e[e.B]=1m(f.12,1d(C.U))}D{23=1d(C.11);f=1q(n,C,14);P=f.P;H(j=0,1i=P.B;j&lt;1i;j++){1D=P[j];24=1l(1D,Q,c,d);e[e.B]=1m(f.12,1X(C.11,23,24));f.P=[1D];1s(f,e.B-1)}}}}8 f,1k;H(8 g 1x b){z(b.2A(g)){1k=b[g];z(A(1k)===\'5\'||A(1k)===\'16\'){f=1q(a,g,Q);1s(f,e.B);e[e.B]=1m(f.12,1d(1k))}D{20(a,g,1k,e)}}}8 h=1K(a),25=2h 3L(\'1g[0-9]+=&quot;?\'+w),1e=[];z(25.17(h)){h=h.1f(25,\'1g=&quot;\'+w)}8 k=h.1R(w),p;H(8 i=1;i&lt;k.B;i++){p=k[i];1e[i]=e[3M(p,10)];k[i]=p.2u(p.2E(\':\')+1)}y 1O(k,1e)}5 J(b,c,d){8 e=1l((d||F[0]).2j(14),b,c);8 f;y 5(a){f=f||a;y e({1p:a,1Y:f})}}5 M(a,b){H(8 i=0,R=F.B;i&lt;R;i++){F[i]=26(F[i],u.J(b,Q,F[i])(a))}y F}5 N(a,b){H(8 i=0,R=F.B;i&lt;R;i++){F[i]=26(F[i],u.J(b,a,F[i])(a))}y F}5 26(a,b){8 c=G.1a(\'3N\'),1t=a.1t.3O(),1u,Y;z((/2G|1E|2H/).17(1t)){8 d={1E:{1F:\'27\'},2G:{1F:{27:\'1E\'}},2H:{1F:{2I:\'1E\'}}};Y=1N(d[1t])}D z((/27|2I|3P/).17(1t)){Y=G.1a(\'1F\')}D{Y=G.1a(\'2i\')}8 e=a.1z;e.1V(Y,a);e.1W(a);Y.1w=b;1u=Y.3Q;e.1V(1u,Y);e.1W(Y);a=1u;Y=1u=e=1b;y a}};$p.Z={};$p.2J={1G:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y 1G.3R(a,n)}}},2K:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y $(n).3S(a)}}2L.3T({3U:[\'J\',\'M\',\'N\'],J:5(a,b){y $p(F).J(a,b)},M:5(a,b){y $($p(F).M(a,b))[0]},N:5(a,b){y $($p(F).N(a,b))[0]}})},2M:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y $(n).K(a)}}1H.3V.3W({J:5(a,b){y $p(F[0]).J(a,b)},M:5(a,b){y 1H($p(F[0]).M(a,b))},N:5(a,b){y 1H($p(F[0]).N(a,b))}})},2N:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y $(n).3X(a)}}2O.3Y({J:5(a,b){y $p(F).J(a,b)},M:5(a,b){y $p(F).M(a,b)},N:5(a,b){y $p(F).N(a,b)}})},T:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){n=n===G?n.3Z:n;y A n===\'16\'?$$(n):$(n).40(a)}}2O.41({J:5(a,b,c){y $p(a).J(b,c)},M:5(a,b,c){y $p(a).M(b,c)},N:5(a,b,c){y $p(a).N(b,c)}})},2P:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y 2Q(a,n)}}},2R:5(){z(A G.18===\'E\'){$p.Z.K=5(n,a){y 2S(a,n)}}}};(5(){8 a=A 1G!==\'E\'&amp;&amp;\'1G\'||A 2L!==\'E\'&amp;&amp;\'2K\'||A 1H!==\'E\'&amp;&amp;\'2M\'||A 42!==\'E\'&amp;&amp;\'2N\'||A 43!==\'E\'&amp;&amp;\'T\'||A 2Q!==\'E\'&amp;&amp;\'2P\'||A 2S!==\'E\'&amp;&amp;\'2R\';a&amp;&amp;$p.2J[a]()})();',62,252,'|||||function|||var||||||||||||||||||||||||||return|if|typeof|length|cspec|else|undefined|this|document|for|attr|compile|find|error|render|autoRender|append|nodes|false|ii||prototype|prop|selector|prepend|target|pa|plugins||sel|quotefn|val|true|loopCtxt|string|test|querySelector|templates|createElement|null|loop|dataselectfn|pfns|replace|style|openLoops|jj|ni|dsel|compiler|wrapquote|leaf|match|data|gettarget|getstr|setsig|tagName|ne|Math|innerHTML|in|parts|parentNode|push|cs|loopi|node|tr|table|dojo|jQuery|ctxt|object|outerHTML|appendChild|isArray|domify|concatenator|bad|slice|split|item|set|cannot|insertBefore|removeChild|loopfn|json|strs|loopgen|an|cj|itersel|inner|checkStyle|replaceWith|tbody|pure|arguments|core|getPlugins|No|your|floor|random|console|new|div|cloneNode|call|Array|querySelectorAll|engine|with|join|parseloopspec|spec|name|charAt|substring|while|index|no|setAttribute|pos|hasOwnProperty|getAutoNodes|className|checkClass|indexOf|str|td|th|thead|libs|domassistant|DOMAssistant|jquery|mootools|Element|sizzle|Sizzle|sly|Sly|found|Review|_s|1000000|_|alert|log|debugger|throw|_compiler|_error|Object|toString|createDocumentFragment|native|available|browser|To|run|PURE|you|need|JS|library|syntax|take|place|at|the|same|time|modifiers|allowed|cssText|removeAttribute|getAttribute|100000|quot|amp|lt|gt|createTextNode|nextSibling|items|have|more|than|one|on|root|getElementsByTagName|nodeType|break|splice|RegExp|parseInt|DIV|toLowerCase|tfoot|firstChild|query|cssSelect|attach|publicMethods|fn|extend|getElements|implement|body|select|addMethods|MooTools|Prototype'.split('|'),0,{}))
\ No newline at end of file
+eval(function(p,a,c,k,e,r){e=function(c){return(c&lt;a?'':e(parseInt(c/a)))+((c=c%a)&gt;35?String.fromCharCode(c+29):c.toString(36))};if(!''.replace(/^/,String)){while(c--)r[e(c)]=k[c]||e(c);k=[function(e){return r[e]}];e=function(){return'\\w+'};c=1};while(c--)if(k[c])p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c]);return p}('9 $p=2e=6(){9 a=2f[0],1M=L;7(x a===\'13\'){1M=2f[1]||L}8 $p.2g(a,1M)};$p.2g=6(l,q,r){9 r=2h(),16=[];7(x l===\'13\'){16=r.J(q||E,l)}B 7(x l===\'1N\'){16=[l]}B{K(\'31 16 32. 33 1O V\')}C(9 i=0,M=16.y;i&lt;M;i++){r[i]=16[i]}r.y=M;9 u=\'34\'+1t.2i(1t.2j()*2k)+\'2l\',1u=\'35\'+1t.2i(1t.2j()*2k)+\'2l\',1P=/^(\\+)?([^\\@\\+]+)?\\@?([^\\+]+)?(\\+)?$/;8 r;6 K(e){36(e);7(x 2m!==\'A\'){2m.37(e);38}39(\'2e K: \'+e);}6 2h(){9 a=$p.W,f=6(){};f.Q=a;f.Q.G=a.G||G;f.Q.N=a.N||N;f.Q.O=a.O||O;f.Q.J=a.J||J;f.Q.3a=1f;f.Q.3b=K;8 3c f()}6 1Q(b){8 b.1Q||(6(n){9 a=E.17(\'2n\'),h;a.1R(n.2o(11));h=a.1v;a=X;8 h})(b)}6 1w(o){8 3d.Q.3e.3f(o)===&quot;[1N 3g]&quot;}6 1g(b,f){8 6(a){8 b(\'\'+f(a))}}6 1S(a,b){b=b||E.3h();9 c,1h;C(9 n 1x a){c=E.17(n);b.1R(c);7(x a[n]===\'1N\'){1h=1S(a[n],c)}B{1h=E.17(a[n]);c.1R(1h)}}8 1h};6 J(n,a){7(x n===\'13\'){a=n;n=L}7(x E.2p!==\'A\'){8(n||E).2p(a)}B{K(\'3i 3j 18 2q 3k 1T: 3l, 3m.5+, 3n+ 3o 3p+\\n\\3q 3r 2q 2r 1O 3s, 3t 3u a 3v 3w/3x 1T a 3y V 3z\')}}6 1U(c,d){8 6(a){9 b=[c[0]],n=c.y,1y,1i,1z,1j;C(9 i=1;i&lt;n;i++){1y=d[i](a);1i=c[i];7(1y===\'\'){1z=b[b.y-1];7((1j=1z.3A(/\\s[\\w]+=\\&quot;$/))&gt;-1){b[b.y-1]=1z.1V(0,1j);1i=1i.3B(1)}}b[b.y]=1y;b[b.y]=1i}8 b.1W(\'\')}}6 2s(p){9 m=p.1k(/^(\\w+)\\s*&lt;-\\s*(\\S+)?$/);7(m===X){K(\'1X 14 2t: &quot;\'+p+\'&quot;\')}7(m[1]===\'1l\'){K(\'&quot;1l&lt;-...&quot; 3C a 3D 3E C 2u 3F 3G 3H.\\n\\3I 3J 3K 1Y C 1O 14.\')}7(x m[2]===\'A\'){m[2]=6(a){8 a.1A}}8{1Y:m[1],12:m[2]}}6 19(c){7(x(c)===\'6\'){8 c}9 m=c.1k(/^(\\w+)(\\.(\\w+))*$/);7(m===X){9 d=L,s=c,1B=[],1a=[],i=0;7(/\\\'|\\&quot;/.18(s.2v(0))){7(/\\\'|\\&quot;/.18(s.2v(s.y-1))){9 e=s.1V(1,s.y-1);8 6(){8 e}}}B{2w((m=s.1k(/#\\{([^{}]+)\\}/))!==X){d=11;1B[i++]=s.2x(0,m.2y);1a[i]=19(m[1]);s=s.2x(m.2y+m[0].y,s.y)}}7(!d){K(\'1X 1A V 2z: \'+c)}1B[i]=s;8 1U(1B,1a)}m=c.1C(\'.\');8 6(a){9 b=a.1A;7(!b){8\'\'}9 v=a[m[0]],i=0;7(v){b=v.1l;i+=1}9 n=m.y;C(;i&lt;n;i++){7(!(b=b[m[i]])){8\'\'}}8 b}}6 1m(c,d,e){9 f,R,V,F,P,H=[];7(x d===\'13\'){f=d;9 m=d.1k(1P);7(!m){K(\'1X V 2z: \'+d)}R=m[1];V=m[2];F=m[3];P=m[4];7(V===\'.\'||(x V===\'A\'&amp;&amp;x F!==\'A\')){H[0]=c}B{H=r.J(c,V)}7(!H||H.y===0){8{F:X,I:H,1Z:X,12:f}}}B{R=d.R;F=d.F;P=d.P;H=[c]}7(R||P){7(R&amp;&amp;P){K(\'P/R 20 3L 3M 3N 2u 3O 3P\')}B 7(e){K(\'2A P/R/2B 3Q 3R C 14 H\')}B 7(P&amp;&amp;e){K(\'20 P 1T 14 (12: \'+f+\')\')}}9 g,1n,Y;7(F){1n=6(a){7((/^21$/i).18(F)){8 a.21.3S}B{8 a.3T(F)}};g=6(a,s){3U(F.2C()){2D\'21\':2D\'3V\':a.2E(1u+F,s);a.3W(F);2F;3X:a.2E(F,s)}};Y=6(s){8 s.2B(/\\&quot;/g,\'&amp;3Y;\')}}B{7(e){g=6(a,s){9 b=a.1D;7(b){9 t=E.3Z(s);a.1D.22(t,a.40);a.1D.23(a)}}}B{1n=6(a){8 a.1v};g=6(a,s){a.1v=s}}Y=6(s){8 s}}9 h;7(R){h=6(a,s){g(a,s+1n(a))}}B 7(P){h=6(a,s){g(a,1n(a)+s)}}B{h=6(a,s){g(a,s)}}8{F:F,I:H,1Z:h,12:f,Y:Y}}6 1o(a,n){9 b=u+n+\':\';C(9 i=0;i&lt;a.I.y;i++){a.1Z(a.I[i],b)}}6 24(e,f,g){8 6(c){9 a=f(c),2G=c[e],1E={2H:a},25=[],26=6(b){c.2H=a;c.1j=1E.1j=b;c.1l=1E.1l=a[b];25.27(g(c))};c[e]=1E;7(1w(a)){C(9 i=0,M=a.y||0;i&lt;M;i++){26(i)}}B{C(9 d 1x a){26(d)}}c[e]=2G;8 25.1W(\'\')}}6 28(a,b,c,d){9 e=L;9 p;C(9 i 1x c){7(c.2I(i)){7(e){K(\'20 41 42 43 44 14 2r a H\')}p=i;e=11}}7(!p){K(\'2A 14 2t\')}9 f=c[p];7(x(f)===\'13\'||x(f)===\'6\'){c={};c[p]={45:f};8 28(a,b,c,d)}9 g=2s(p),1p=19(g.12),H=1m(a,b,11),I=H.I;C(i=0;i&lt;I.y;i++){9 h=I[i],1q=1f(h,f);d[d.y]=1g(H.Y,24(g.1Y,1p,1q));H.I=[h];1o(H,d.y-1)}}6 2J(n,b){9 d=n.46(\'*\'),29=[],1b={a:[],l:{}},z,i,M,j,1c,1d,1F,2a;C(i=-1,M=d.y;i&lt;M;i++){1d=i&gt;-1?d[i]:n;7(1d.47===1&amp;&amp;1d.2K!==\'\'){1F=1d.2K.1C(\' \');C(j=0,1c=1F.y;j&lt;1c;j++){2a=1F[j];z=2L(2a,b);7(z!==L){29.27({n:1d,z:z})}}}}8 29;6 2L(c){9 a=c.1k(1P),z={R:!!a[1],T:a[2],F:a[3],P:!!a[4],12:c},Z=1w(b)?b[0][z.T]:b[z.T],i,M,1G;7(x Z===\'A\'){C(i=1b.a.y-1;i&gt;=0;i--){1G=1b.a[i];Z=1G.l[0][z.T];7(x Z!==\'A\'){z.T=1G.p+\'.\'+z.T;7(1b.l[z.T]===11){Z=Z[0]}2F}}}7(x Z===\'A\'){8 L}7(1w(Z)){1b.a.27({l:Z,p:z.T});1b.l[z.T]=11;z.t=\'14\'}B{z.t=\'2M\'}8 z}}6 1f(a,b,c,d){9 e=[];d=d||c&amp;&amp;2J(a,c);7(c){9 j,1c,z,n,f,I,1p,1H,1q;2w(d.y&gt;0){z=d[0].z;n=d[0].n;d.48(0,1);7(z.t===\'2M\'){f=1m(n,z,L);1o(f,e.y);e[e.y]=1g(f.Y,19(z.T))}B{1p=19(z.12);f=1m(n,z,11);I=f.I;C(j=0,1c=I.y;j&lt;1c;j++){1H=I[j];1q=1f(1H,L,c,d);e[e.y]=1g(f.Y,24(z.12,1p,1q));f.I=[1H];1o(f,e.y-1)}}}}9 f,1e;C(9 g 1x b){7(b.2I(g)){1e=b[g];7(x(1e)===\'6\'||x(1e)===\'13\'){f=1m(a,g,L);1o(f,e.y);e[e.y]=1g(f.Y,19(1e))}B{28(a,g,1e,e)}}}9 h=1Q(a),1a=[];7(h.2N(1u)&gt;-1){h=h.1C(1u).1W(\'\')}9 k=h.1C(u),p;C(9 i=1;i&lt;k.y;i++){p=k[i];1a[i]=e[49(p,10)];k[i]=p.1V(p.2N(\':\')+1)}8 1U(k,1a)}6 G(c,d,e){9 f=1f((e||D[0]).2o(11),c,d);8 6(a,b){b=b||a;8 f({1A:a,2b:b})}}6 N(a,b){9 c=x b===\'6\'?b:r.G(b,L,D[0]);C(9 i=0,M=D.y;i&lt;M;i++){D[i]=2c(D[i],c(a,L))}2b=X;8 D}6 O(a,b){9 c=x b===\'6\'?b:r.G(b,a,D[0]);C(9 i=0,M=D.y;i&lt;M;i++){D[i]=2c(D[i],c(a,L))}2b=X;8 D}6 2c(a,b){9 c=E.17(\'4a\'),1r=a.1r.2C(),1s,U;7((/2O|1I|2P/).18(1r)){9 d={1I:{1J:\'2d\'},2O:{1J:{2d:\'1I\'}},2P:{1J:{2Q:\'1I\'}}};U=1S(d[1r])}B 7((/2d|2Q|4b/).18(1r)){U=E.17(\'1J\')}B{U=E.17(\'2n\')}9 e=a.1D;e.22(U,a);e.23(a);U.1v=b;1s=U.4c;e.22(1s,U);e.23(U);a=1s;U=1s=e=X;8 a}};$p.W={};$p.2R={1K:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 1K.4d(a,n)}}},2S:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 $(n).4e(a)}}2T.4f({4g:[\'G\',\'N\',\'O\'],G:6(a,b){8 $p(D).G(a,b)},N:6(a,b){8 $($p(D).N(a,b))[0]},O:6(a,b){8 $($p(D).O(a,b))[0]}})},2U:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 $(n).J(a)}}1L.4h.4i({G:6(a,b){8 $p(D[0]).G(a,b)},N:6(a,b){8 1L($p(D[0]).N(a,b))},O:6(a,b){8 1L($p(D[0]).O(a,b))}})},2V:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 $(n).4j(a)}}2W.4k({G:6(a,b){8 $p(D).G(a,b)},N:6(a,b){8 $p(D).N(a,b)},O:6(a,b){8 $p(D).O(a,b)}})},Q:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){n=n===E?n.4l:n;8 x n===\'13\'?$$(n):$(n).4m(a)}}2W.4n({G:6(a,b,c){8 $p(a).G(b,c)},N:6(a,b,c){8 $p(a).N(b,c)},O:6(a,b,c){8 $p(a).O(b,c)}})},2X:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 2Y(a,n)}}},2Z:6(){7(x E.15===\'A\'){$p.W.J=6(n,a){8 30(a,n)}}}};(6(){9 a=x 1K!==\'A\'&amp;&amp;\'1K\'||x 2T!==\'A\'&amp;&amp;\'2S\'||x 1L!==\'A\'&amp;&amp;\'2U\'||x 4o!==\'A\'&amp;&amp;\'2V\'||x 4p!==\'A\'&amp;&amp;\'Q\'||x 2Y!==\'A\'&amp;&amp;\'2X\'||x 30!==\'A\'&amp;&amp;\'2Z\';a&amp;&amp;$p.2R[a]()})();',62,274,'||||||function|if|return|var||||||||||||||||||||||||typeof|length|cspec|undefined|else|for|this|document|attr|compile|target|nodes|find|error|false|ii|render|autoRender|append|prototype|prepend||prop|pa|selector|plugins|null|quotefn|val||true|sel|string|loop|querySelector|templates|createElement|test|dataselectfn|pfns|openLoops|jj|ni|dsel|compiler|wrapquote|leaf|pVal|pos|match|item|gettarget|getstr|setsig|itersel|inner|tagName|ne|Math|specAttr|innerHTML|isArray|in|fnVal|attLine|data|parts|split|parentNode|temp|cs|loopi|node|tr|table|dojo|jQuery|ctxt|object|your|selRx|outerHTML|appendChild|domify|with|concatenator|substring|join|bad|name|set|cannot|style|insertBefore|removeChild|loopfn|strs|buildArg|push|loopgen|an|cj|context|replaceWith|tbody|pure|arguments|core|getPlugins|floor|random|1000000|_|console|div|cloneNode|querySelectorAll|PURE|on|parseloopspec|spec|the|charAt|while|slice|index|syntax|no|replace|toLowerCase|case|setAttribute|break|old|items|hasOwnProperty|getAutoNodes|className|checkClass|str|indexOf|td|th|thead|libs|domassistant|DOMAssistant|jquery|mootools|Element|sizzle|Sizzle|sly|Sly|No|found|Review|_s|_a|alert|log|debugger|throw|_compiler|_error|new|Object|toString|call|Array|createDocumentFragment|You|can|standalone|iPhone|FF3|Safari4|and|IE8|nTo|run|browser|you|need|JS|library|framework|CSS|engine|search|substr|is|reserved|word|current|running|iteration|nPlease|choose|another|take|place|at|same|time|modifiers|allowed|cssText|getAttribute|switch|height|removeAttribute|default|quot|createTextNode|nextSibling|have|more|than|one|root|getElementsByTagName|nodeType|splice|parseInt|DIV|tfoot|firstChild|query|cssSelect|attach|publicMethods|fn|extend|getElements|implement|body|select|addMethods|MooTools|Prototype'.split('|'),0,{}))
\ No newline at end of file</diff>
      <filename>libs/pure2_packed.js</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>94cbfe184013323d9e2234adc99604e610ffb8c8</id>
    </parent>
  </parents>
  <author>
    <name>mic</name>
    <email>mic@beebole.com</email>
  </author>
  <url>http://github.com/pure/pure/commit/3085ce1b6f29cd1826f579f54b23d25d8ec9d7e3</url>
  <id>3085ce1b6f29cd1826f579f54b23d25d8ec9d7e3</id>
  <committed-date>2009-07-08T08:19:51-07:00</committed-date>
  <authored-date>2009-07-08T08:19:51-07:00</authored-date>
  <message>Major change in the selector notation about attributes</message>
  <tree>3804b05a219f38da30d585a348e07d56290eb659</tree>
  <committer>
    <name>mic</name>
    <email>mic@beebole.com</email>
  </committer>
</commit>
