YUI.add("datasource-io",function(n,e){var a=function(){a.superclass.constructor.apply(this,arguments)};n.mix(a,{NAME:"dataSourceIO",ATTRS:{io:{value:n.io,cloneDefaultValue:!1},ioConfig:{value:null}}}),n.extend(a,n.DataSource.Local,{initializer:function(e){this._queue={interval:null,conn:null,requests:[]}},successHandler:function(e,a,t){var o=this.get("ioConfig"),i=t.details[0];delete n.DataSource.Local.transactions[t.tId],i.data=a,this.fire("data",i),o&&o.on&&o.on.success&&o.on.success.apply(o.context||n,arguments)},failureHandler:function(e,a,t){var o=this.get("ioConfig"),i=t.details[0];delete n.DataSource.Local.transactions[t.tId],i.error=new Error("IO data failure"),i.data=a,this.fire("data",i),o&&o.on&&o.on.failure&&o.on.failure.apply(o.context||n,arguments)},_queue:null,_defRequestFn:function(e){var a=this.get("source"),t=this.get("io"),o=this.get("ioConfig"),i=e.request,o=n.merge(o,e.cfg,{on:n.merge(o,{success:this.successHandler,failure:this.failureHandler}),context:this,arguments:e});return n.Lang.isString(i)&&(o.method&&"POST"===o.method.toUpperCase()?o.data=o.data?o.data+i:i:a+=i),n.DataSource.Local.transactions[e.tId]=t(a,o),e.tId}}),n.DataSource.IO=a},"patched-v3.18.4",{requires:["datasource-local","io-base"]});