//>>built define("dojo/_base/declare dojox/storage/Provider dojox/storage/manager dojo/_base/array dojo/_base/lang dojo/json".split(" "),function(f,k,g,l,m,h){f=f("dojox.storage.LocalStorageProvider",[k],{store:null,initialize:function(){this.store=localStorage;this.initialized=!0;g.loaded()},isAvailable:function(){return"undefined"!=typeof localStorage},put:function(a,b,c,d){this._assertIsValidKey(a);d=d||this.DEFAULT_NAMESPACE;this._assertIsValidNamespace(d);var e=this.getFullKey(a,d);b=h.stringify(b);try{this.store.setItem(e, b),c&&c(this.SUCCESS,a,null,d)}catch(n){c&&c(this.FAILED,a,n.toString(),d)}},get:function(a,b){this._assertIsValidKey(a);b=b||this.DEFAULT_NAMESPACE;this._assertIsValidNamespace(b);a=this.getFullKey(a,b);return h.parse(this.store.getItem(a))},getKeys:function(a){a=a||this.DEFAULT_NAMESPACE;this._assertIsValidNamespace(a);a="__"+a+"_";for(var b=[],c=0;ca.length?!1:a.substring(0,b.length)===b}, _assertIsValidNamespace:function(a){if(!1===this.isValidNamespace(a))throw Error("Invalid namespace given: "+a);},_assertIsValidKey:function(a){if(!1===this.isValidKey(a))throw Error("Invalid key given: "+a);}});g.register("dojox.storage.LocalStorageProvider",new f);return f});