//>>built define("dojo/_base/lang dojo/_base/declare dojo/_base/array dojo/_base/json dojo/_base/kernel dojo/_base/sniff dojo/data/util/sorter dojo/data/util/filter ./css".split(" "),function(f,r,n,t,p,u,v,q,l){return r("dojox.data.CssRuleStore",null,{_storeRef:"_S",_labelAttribute:"selector",_cache:null,_browserMap:null,_cName:"dojox.data.CssRuleStore",constructor:function(a){a&&f.mixin(this,a);this._cache={};this._allItems=null;this._waiting=[];this.gatherHandle=null;var c=this;this.gatherHandle=setInterval(function(){try{for(c.context= l.determineContext(c.context),c.gatherHandle&&(clearInterval(c.gatherHandle),c.gatherHandle=null);c._waiting.length;){var a=c._waiting.pop();l.rules.forEach(a.forFunc,null,c.context);a.finishFunc()}}catch(e){}},250)},setContext:function(a){a&&(this.close(),this.context=l.determineContext(a))},getFeatures:function(){return{"dojo.data.api.Read":!0}},isItem:function(a){return a&&a[this._storeRef]==this?!0:!1},hasAttribute:function(a,c){this._assertIsItem(a);this._assertIsAttribute(c);a=this.getAttributes(a); return-1!=n.indexOf(a,c)?!0:!1},getAttributes:function(a){this._assertIsItem(a);var c="selector classes rule style cssText styleSheet parentStyleSheet parentStyleSheetHref".split(" ");if(a=a.rule.style)for(var b in a)c.push("style."+b);return c},getValue:function(a,c,b){return(a=this.getValues(a,c))&&0k?m:h.length);g.push(h)}}d={};d.rule=a;d.styleSheet=c;d.href=b;d.classes=g;d[this._storeRef]=this;this._allItems[e]||(this._allItems[e]=[]);this._allItems[e].push(d)},_handleReturn:function(){var a=[],c=[],b=null,e;for(e in this._allItems){var b=this._allItems[e],d;for(d in b)c.push(b[d])}for(;this._pending.length;)b=this._pending.pop(),b.request._items=c,a.push(b);for(;a.length;)b=a.pop(),this._handleFetchReturn(b.request)}, _handleFetchReturn:function(a){var c=a.scope||p.global,b=[],e="all",d;a.query&&(e=t.toJson(a.query));if(this._cache[e])b=this._cache[e];else if(a.query){for(d in a._items){var g=a._items[d],l=a.queryOptions?a.queryOptions.ignoreCase:!1,h={},k,m;for(k in a.query)m=a.query[k],"string"===typeof m&&(h[k]=q.patternToRegExp(m,l));l=!0;for(k in a.query)m=a.query[k],this._containsValue(g,k,m,h[k])||(l=!1);l&&b.push(g)}this._cache[e]=b}else for(d in a._items)b.push(a._items[d]);e=b.length;a.sort&&b.sort(v.createSortFunction(a.sort, this));d=0;g=b.length;0b.length&&(g=b.length);b=b.slice(d,g);a.onBegin&&a.onBegin.call(c,e,a);if(a.onItem){if(f.isArray(b)){for(d=0;d